⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 minigui 体系结构之四 图形抽象层和输入抽象层及 native engine 的实现(二).htm

📁 是一个标准的体系结构
💻 HTM
📖 第 1 页 / 共 4 页
字号:
 142 {
 143         struct pollfd ufd;
 144         if ( (which & IAL_MOUSEEVENT) == IAL_MOUSEEVENT)
 145         {
 146                 ufd.fd     = ts;
 147                 ufd.events = POLLIN; 
 148                 if ( poll (&ufd, 1, timeout) > 0)
 149                 {
 150                         read (ts, &pos, sizeof(POS));   
 151                         return IAL_MOUSEEVENT;
 152                 }
 153         }
 154         return 0;
 155 }
 156 #endif
 157 
 158 static void set_leds (unsigned int leds)
 159 {
 160 }
 161 
 162 BOOL InitADSInput (INPUT* input, const char* mdev, const char* mtype)
 163 {
 164         int i;
 165         
 166         ts = open ("/dev/ts", O_RDONLY);
 167     if ( ts < 0 ) {
 168         fprintf (stderr, "IAL: Can not open touch screen!\n");
 169         return FALSE;
 170     }
 171 
 172         for(i = 0; i < NR_KEYS; i++)
 173                 state[i] = 0;
 174 
 175     input->update_mouse = mouse_update;
 176     input->get_mouse_x = mouse_getx;
 177     input->get_mouse_y = mouse_gety;
 178     input->set_mouse_xy = mouse_setposition;
 179     input->get_mouse_button = mouse_getbutton;
 180     input->set_mouse_range = mouse_setrange;
 181 
 182     input->update_keyboard = keyboard_update;
 183     input->get_keyboard_state = keyboard_getstate;
 184     input->set_leds = set_leds;
 185 
 186     input->wait_event = wait_event;
 187         mousex = 0;
 188         mousey = 0;
 189     return TRUE;
 190 }
 191 
 192 void TermADSInput (void)
 193 {
 194         if ( ts >= 0 )
 195                 close(ts);
 196 }
 197 
</PRE></TD></TR></TBODY></TABLE>
      <P>在上述输入引擎中,完全忽略了键盘相关的函数实现,代码集中在对触摸屏的处理上。显然,输入引擎的编写并不是非常困难的。</P><A id=6 
      name=6></A>
      <P><STRONG class=subhead>6 小结</STRONG></P>
      <P>本文详细介绍了 MiniGUI 的 GAL 和 IAL 接口,并以 Native 
      图形引擎和输入引擎为例,介绍了具体图形引擎和输入引擎的实现。当然,MiniGUI 目前的 GAL 和 IAL 接口还有许多不足之处,比如和上层的 
      GDI 耦合程度不高,从而对效率有些损失。在 MiniGUI 将来的开发中,我们将重新设计 GDI 
      以及底层的图形引擎接口,以便针对窗口系统进行优化。</P><A id=resources name=resources></A>
      <P><STRONG class=subhead>资源</STRONG></P>
      <UL>
        <LI><B>Linux 图形相关资源</B> 
        <LI style="LIST-STYLE-TYPE: none">
        <UL>
          <LI><A href="http://www.ggi-project.org/">GGI</A> - The GGI Project 
          <LI><A href="http://www.svgalib.org/">svgalib</A> - The Old Linux 
          Console Graphics Library 
          <LI><A href="http://www.devolution.com/~slouken/SDL/">SDL</A> - Simple 
          DirectMedia Layer - linux, BeOS, DirectX ... <FONT color=#ff0000>very 
          COOL</FONT> 
          <LI><A href="http://www.hut.fi/~hmallat/xfb/">xfb</A> - Linux 
          Framebuffer Accelerator 
          <LI><A href="http://www.tutok.sk/fastgl/">OpenGUI</A> - OpenGUI is a 
          high-Level C/C++ graphics &amp; windowing library built upon a fast, 
          low-level x86 asm graphics kernel. </LI></UL>
        <LI><B>MiniGUI 资源</B> 
        <LI style="LIST-STYLE-TYPE: none">
        <UL>
          <LI><A href="http://www.minigui.org/">MiniGUI 主页</A> 
          <LI><A href="ftp://ftp.minigui.org/pub/minigui">MiniGUI FTP 站点</A> 
          </LI></UL>
        <LI><B>MiniGUI 邮件列表</B> 
        <LI style="LIST-STYLE-TYPE: none">
        <UL>
          <LI>发信:<A 
          href="mailto:minigui-devel@egroups.com">minigui-devel@egroups.com</A> 
          <LI>订阅:<A 
          href="mailto:minigui-devel-subscribe@egroups.com">minigui-devel-subscribe@egroups.com</A> 

          <LI>解除订阅:<A 
          href="mailto:minigui-devel-unsubscribe@egroups.com">minigui-devel-unsubscribe@egroups.com</A> 
          </LI></UL></LI></UL><A id=author name=author></A>
      <P><STRONG class=subhead>关于作者</STRONG><BR>魏永明(ymwei@minigui.org),男,27 
      岁,工学硕士,现任蓝点软件(深圳)有限公司北京研发中心技术主管。国内最有影响的自由软件项目之一-- MiniGUI 
      的创始人以及主要开发人员。著有《Linux 实用教程》与《学用 Linux 与 Windows NT》,并主持翻译了《Red Hat Linux 
      奥秘》、《Linux 编程宝典》 等大量优秀的 Linux 技术著作。是清华大学 AKA Linux 编程技术系列讲座的主讲人。</P><BR><!--end of paper--></TD>
    <TD vAlign=top width=5><IMG height=1 alt="" 
      src="MiniGUI 体系结构之四 图形抽象层和输入抽象层及 Native Engine 的实现(二).files/c.gif" 
    width=5></TD></TR>
  <TR vAlign=top height=5>
    <TD vAlign=top width=5></TD>
    <TD vAlign=top width=5><!-- rate article form -->
      <TABLE cellSpacing=0 cellPadding=0 width=150 border=0>
        <TBODY>
        <TR>
          <TD width="100%" height=1><SPACER height="1" type="block" /></TD></TR>
        <TR>
          <TD width="100%" bgColor=#cc6633 height=3><IMG height=3 alt="" 
            src="MiniGUI 体系结构之四 图形抽象层和输入抽象层及 Native Engine 的实现(二).files/c.gif" 
            width=150></TD></TR>
        <TR>
          <TD width="100%" bgColor=#333333 height=1><IMG height=1 alt="" 
            src="MiniGUI 体系结构之四 图形抽象层和输入抽象层及 Native Engine 的实现(二).files/c.gif" 
            width=150></TD></TR>
        <TR>
          <TD width="100%" bgColor=#000000 height=1><IMG height=1 alt="" 
            src="MiniGUI 体系结构之四 图形抽象层和输入抽象层及 Native Engine 的实现(二).files/c.gif" 
            width=150></TD></TR>
        <TR>
          <TD width="100%" bgColor=#ffffff height=5><IMG height=5 alt="" 
            src="MiniGUI 体系结构之四 图形抽象层和输入抽象层及 Native Engine 的实现(二).files/c.gif" 
            width=150></TD></TR>
        <TR vAlign=top>
          <TD>
            <FORM 
            action=/developerWorks/cn/cnratings.nsf/RateArticle?CreateDocument 
            method=post><INPUT type=hidden 
            value="MiniGUI 体系结构之四:图形抽象层和输入抽象层及 Native Engine 的实现(二)" 
            name=ArticleTitle> <INPUT type=hidden value=Linux name=Zone> <INPUT 
            type=hidden value=/developerWorks/cn/thankyou/feedback-linux.html 
            name=RedirectURL> <FONT face="HELVETICA, HELV, ARIAL" size=-1><B><A 
            id=rating name=rating>您对这篇文章的看法如何?</A></B></FONT> 
            <P></P>
            <TABLE cellSpacing=0 cellPadding=0 width=570 border=0>
              <TBODY>
              <TR vAlign=top>
                <TD><INPUT type=radio value=5 name=Rating><FONT 
                  face="HELVETICA, HELV, ARIAL" size=-1>真棒!</FONT></TD>
                <TD><INPUT type=radio value=4 name=Rating><FONT 
                  face="HELVETICA, HELV, ARIAL" size=-1>好文章</FONT></TD>
                <TD><INPUT type=radio value=3 name=Rating><FONT 
                  face="HELVETICA, HELV, ARIAL" size=-1>一般,尚可</FONT></TD>
                <TD><INPUT type=radio value=2 name=Rating><FONT 
                  face="HELVETICA, HELV, ARIAL" size=-1>需提高</FONT></TD>
                <TD><INPUT type=radio value=1 name=Rating><FONT 
                  face="HELVETICA, HELV, ARIAL" 
            size=-1>太差!</FONT></TD></TR></TBODY></TABLE><BR><FONT 
            face="HELVETICA, HELV, ARIAL" size=-1><B>意见?</B></FONT><BR><TEXTAREA name=Comments rows=3 wrap=virtual cols=52></TEXTAREA><BR><BR><INPUT type=submit value=提交反馈意见></FORM></TD></TR></TBODY></TABLE><!-- end rate article form --></TD>
    <TD vAlign=top width=5></TD></TR>
  <TR vAlign=top height=5>
    <TD></TD>
    <TD></TD>
    <TD></TD></TR></TBODY></TABLE><!-- end content --></TD></TR></TABLE><!-- ---------------footer------------------- -->
<TABLE cellSpacing=0 cellPadding=0 border=0>
  <TBODY>
  <TR>
    <TD align=right width="100%" colSpan=2 height=30>(c) Copyright IBM Corp. 
      2001, (c) Copyright IBM China 2001, All Right Reserved</TD></TR>
  <TR>
    <TD width=150>
      <TABLE cellSpacing=0 cellPadding=0 width=150 border=0>
        <TBODY>
        <TR bgColor=#000000>
          <TD align=middle width=49><A class=nav style="COLOR: #ffffff" 
            href="http://www.ibm.com/privacy/"><FONT face="Arial, sans-serif" 
            color=#ffffff size=-1>隐私</FONT></A></TD>
          <TD width=1 bgColor=#959595><IMG height=20 alt="" 
            src="MiniGUI 体系结构之四 图形抽象层和输入抽象层及 Native Engine 的实现(二).files/c.gif" 
            width=1 border=0></TD>
          <TD align=middle width=49><A class=nav style="COLOR: #ffffff" 
            href="http://www.ibm.com/legal/"><FONT face="Arial, sans-serif" 
            color=#ffffff size=-1>法律</FONT></A></TD>
          <TD width=1 bgColor=#959595><IMG height=20 alt="" 
            src="MiniGUI 体系结构之四 图形抽象层和输入抽象层及 Native Engine 的实现(二).files/c.gif" 
            width=1 border=0></TD>
          <TD align=middle width=49><A class=nav style="COLOR: #ffffff" 
            href="http://www.cn.ibm.com/Main.nsf/HTMLS/aboutibm&amp;contactus"><FONT 
            face="Arial, sans-serif" color=#ffffff size=-1>联系</FONT></A></TD>
          <TD width=1 bgColor=#959595><IMG height=21 alt="" 
            src="MiniGUI 体系结构之四 图形抽象层和输入抽象层及 Native Engine 的实现(二).files/c.gif" 
            width=1 border=0></TD></TR></TBODY></TABLE></TD>
    <TD width="100%" bgColor=#000000><IMG height=1 alt="" 
      src="MiniGUI 体系结构之四 图形抽象层和输入抽象层及 Native Engine 的实现(二).files/c.gif" width=1 
      border=0></TD></TR></TBODY></TABLE>
<SCRIPT language=JavaScript1.2 
src="MiniGUI 体系结构之四 图形抽象层和输入抽象层及 Native Engine 的实现(二).files/stats.js" 
type=text/javascript></SCRIPT>
<NOSCRIPT><IMG height=1 alt="" 
src="D:\新建文件夹\MiniGUI 体系结构之四 图形抽象层和输入抽象层及 Native Engine 的实现(二).files\c(2).gif" 
width=1 border=0></NOSCRIPT> </BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -