Skip to content
Snippets Groups Projects
NXGraphicsSubsystem.html 104 KiB
Newer Older
patacongo's avatar
patacongo committed
<html>
<head>
<title>NX Graphics Subsystem</title>
<meta name="author" content="Gregory Nutt">
</head>

<body background="backgd.gif">
<hr><hr>
<table width ="100%">
  <tr align="center" bgcolor="#e4e4e4">
    <td>
      <h1><big><font color="#3c34ec">
        <i>NX Graphics Subsystem</i>
      </font></big></h1>
      <p>Last Updated: April 16, 2010</p>
patacongo's avatar
patacongo committed
    </td>
  </tr>
</table>
<hr><hr>

<table width ="100%">
  <tr bgcolor="#e4e4e4">
    <td>
      <h1>Table of Contents</h1>
    </td>
  </tr>
</table>

<table width="100%">
<tr>
  <td align="left" valign="top">
  <p>
   <big><b>1.0</b> <a href="#Introduction">Introduction</a></big>
  </p>
  <ul>
    <p>
     <i><b>1.1</b> <a href="#Overview">Overview</a><br></i>
     <i><b>1.2</b> <a href="#Objectives">Objectives</a></i><br>
     <i><b>1.3</b> <a href="#Organization">Organization</a></i>
    </p>
    <p>
      <ul>
        <i>1.3.1 <a href="#nxgl1">NX Graphics Library (<code>NXGL</code>)</a></i><br>
        <i>1.3.2 <a href="#nx1">NX (NXSU and NXMU)</a></i><br>
        <i>1.3.3 <a href="#nxtk1">NX Tool Kit (<code>NXTK</code>)</a></i><br>
        <i>1.3.4 <a href="#nxfonts1">NX Fonts Support (<code>NXFONTS</code>)</a></i><br>
        <i>1.3.5 <a href="#nxwidgets1">NX Widgets (<code>NXWIDGETS</code>)</a></i>
      </ul>
    </p>
  </ul>
  <p>
    <big><b>2.0</b> <a href="#nxapis">NX User APIs</a></big>
  </p>
  <ul>
    <p>
      <i><b>2.1</b> <a href="#nxheaders">NX Header Files</a></i><br>
      <i><b>2.2</b> <a href="#nxgl2">NX Graphics Library (<code>NXGL</code>)</a></i>
    </p>
    <p>
      <ul>
        <i>2.2.1 <a href="#nxgltypes">NXGL Types</a></i><br>
        <i>2.2.1 <a href="#nxglrgb2yuv"><code>nxgl_rgb2yuv()</code></a></i><br>
        <i>2.2.2 <a href="#nxglyuv2rgb"><code>nxgl_yuv2rgb()</code></a></i><br>
        <i>2.2.3 <a href="#nxglrectcopy"><code>nxgl_rectcopy()</code></a></i><br>
        <i>2.2.4 <a href="#nxglrectoffset"><code>nxgl_rectoffset()</code></a></i><br>
        <i>2.2.5 <a href="#nxglvectoradd"><code>nxgl_vectoradd()</code></a></i><br>
        <i>2.2.6 <a href="#nxglvectorsubtract"><code>nxgl_vectorsubtract()</code></a></i><br>
        <i>2.2.7 <a href="#nxglrectintersect"><code>nxgl_rectintersect()</code></a></i><br>
        <i>2.2.8 <a href="#nxglrectunion"><code>nxgl_rectunion()</code></a></i><br>
        <i>2.2.9 <a href="#nxglnonintersecting"><code>nxgl_nonintersecting()</code></a></i><br>
        <i>2.2.10 <a href="#nxglrectoverlap"><code>nxgl_rectoverlap()</code></a></i><br>
        <i>2.2.11 <a href="#nxglrectinside"><code>nxgl_rectinside()</code></a></i><br>
        <i>2.2.12 <a href="#nxglrectsize"><code>nxgl_rectsize()</code></a></i><br>
        <i>2.2.13 <a href="#nxglnullrect"><code>nxgl_nullrect()</code></a></i><br>
        <i>2.2.14 <a href="#nxglrunoffset"><code>nxgl_runoffset()</code></a></i><br>
        <i>2.2.15 <a href="#nxglruncopy"><code>nxgl_runcopy()</code></a></i><br>
        <i>2.2.16 <a href="#nxgltrapoffset"><code>nxgl_trapoffset()</code></a></i><br>
        <i>2.2.17 <a href="#nxgltrapcopy"><code>nxgl_trapcopy()</code></a></i><br>
        <i>2.2.18 <a href="#nxglcolorcopy"><code>nxgl_colorcopy</code></a></i>
      </ul>
     </p>
   <p>
     <i><b>2.3</b> <a href="#nx2">NX</a></i>
   </p>
   <p>
     <ul>
        <i>2.3.1 <a href="#nxppdefs">Pre-Processor Definitions</a></i><br>
        <i>2.3.2 <a href="#nxtypes">NX Types</a></i><br>
        <i>2.3.3 <a href="#nxtypes">NX Server Callbacks</a></i>
        <p>
          <ul>
            <i>2.3.3.1 <a href="#nxcbredraw"><code>redraw()</code></a></i><br>
            <i>2.3.3.2 <a href="#nxcbposition"><code>position()</code></a></i><br>
            <i>2.3.3.3 <a href="#nxcbmousein"><code>mousein()</code></a></i><br>
            <i>2.3.3.4 <a href="#nxcbkbdin"><code>kbdin()</code></a></i>
          </ul>
        <p>
        <i>2.3.4 <a href="#nxruninstance"><code>nx_runinstance()</code> (and <code>nx_run()<code> macro)</a></i><br>
        <i>2.3.5 <a href="#nxconnectinstance"><code>nx_connectinstance()</code> (and <code>nx_connect()</code> macro)</a></i><br>
        <i>2.3.6 <a href="#nxopen"><code>nx_open()</code></a></i><br>
        <i>2.3.7 <a href="#nxdisconnect"><code>nx_disconnect()</code></a></i><br>
        <i>2.3.8 <a href="#nxclose"><code>nx_close()</code></a></i><br>
        <i>2.3.9 <a href="#nxeventhandler"><code>nx_eventhandler()</code></a></i><br>
        <i>2.3.10 <a href="#nxeventnotify"><code>nx_eventnotify()</code></a></i><br>
        <i>2.3.11 <a href="#nxopenwindow"><code>nx_openwindow()</code></a></i><br>
        <i>2.3.12 <a href="#nxclosewindow"><code>nx_closewindow()</code></a></i><br>
        <i>2.3.13 <a href="#nxrequestbkgd"><code>nx_requestbkgd()</code></a></i><br>
        <i>2.3.14 <a href="#nxreleasebkgd"><code>nx_releasebkgd()</code></a></i><br>
        <i>2.3.15 <a href="#nxgetposition"><code>nx_getposition()</code></a></i><br>
        <i>2.3.16 <a href="#nxsetposition"><code>nx_setposition()</code></a></i><br>
        <i>2.3.17 <a href="#nxsetsize"><code>nx_setsize()</code></a></i><br>
        <i>2.3.18 <a href="#nxraise"><code>nx_raise()</code></a></i><br>
        <i>2.3.19 <a href="#nxlower"><code>nx_lower()</code></a></i><br>
        <i>2.3.20 <a href="#nxfill"><code>nx_fill()</code></a></i><br>
        <i>2.3.21 <a href="#nxfilltrapezoid"><code>nx_filltrapezoid()</code></a></i><br>
        <i>2.3.22 <a href="#nxglrgb2yuv"><code>nx_setbgcolor()</code></a></i><br>
        <i>2.3.23 <a href="#nxmove"><code>nx_move()</code></a></i><br>
        <i>2.3.24 <a href="#nxbitmap"><code>nx_bitmap()</code></a></i><br>
        <i>2.3.25 <a href="#nxkbdin"><code>nx_kbdin()</code></a></i><br>
        <i>2.3.26 <a href="#nxmousein"><code>nx_mousein()</code></a></i><br>
     </ul>
   </p>
  </td>
  <td align="left" valign="top">
   <p>
     <i><b>2.4</b> <a href="#nxtk2">NX Tool Kit (<code>NXTK</code>)</a></i>
   </p>
   <p>
     <ul>
        <i>2.4.1 <a href="#nxtktypes"><code>NXTK Types()</code></a></i><br>
        <i>2.4.2 <a href="#nxtkopenwindow"><code>nxtk_openwindow()</code></a></i><br>
        <i>2.4.3 <a href="#nxtkclosewindow"><code>nxtk_closewindow()</code></a></i><br>
        <i>2.4.4 <a href="#nxtkgetposition"><code>nxtk_getposition()</code></a></i><br>
        <i>2.4.5 <a href="#nxtksetposition"><code>nxtk_setposition()</code></a></i><br>
        <i>2.4.6 <a href="#nxtksetsize"><code>nxtk_setsize()</code></a></i><br>
        <i>2.4.7 <a href="#nxtkraise"><code>nxtk_raise()</code></a></i><br>
        <i>2.4.8 <a href="#nxtklower"><code>nxtk_lower()</code></a></i><br>
        <i>2.4.9 <a href="#nxtkfillwindow"><code>nxtk_fillwindow()</code></a></i><br>
        <i>2.4.10 <a href="#nxtkfilltrapwindow"><code>nxtk_filltrapwindow()</code></a></i><br>
        <i>2.4.11 <a href="#nxtkmovewindow"><code>nxtk_movewindow()</code></a></i><br>
        <i>2.4.12 <a href="#nxtkbitmapwindow"><code>nxtk_bitmapwindow()</code></a></i><br>
        <i>2.4.13 <a href="#nxtkopentoolbar"><code>nxtk_opentoolbar()</code></a></i><br>
        <i>2.4.14 <a href="#nxtkclosetoolbar"><code>nxtk_closetoolbar()</code></a></i><br>
        <i>2.4.15 <a href="#nxtkfilltoolbar"><code>nxtk_filltoolbar()</code></a></i><br>
        <i>2.4.16 <a href="#nxtkfilltraptoolbar"><code>nxtk_filltraptoolbar()</code></a></i><br>
        <i>2.4.17 <a href="#nxtkmovetoolbar"><code>nxtk_movetoolbar()</code></a></i><br>
        <i>2.4.18 <a href="#nxtkbitmaptoolbar"><code>nxtk_bitmaptoolbar()</code></a></i>
     </ul>
   </p>
   <p>
patacongo's avatar
patacongo committed
     <i><b>2.5</b> <a href="#nxfonts2">NX Fonts Support (<code>NXFONTS</code>)</a></i>
patacongo's avatar
patacongo committed
   </p>
   <p>
     <ul>
        <i>2.5.1 <a href="#nxfontstypes"><code>NXFONTS Types()</code></a></i><br>
        <i>2.5.2 <a href="#nxfgetfontset"><code>nxf_getfontset()</code></a></i><br>
        <i>2.5.3 <a href="#nxfgetbitmap"><code>nxf_getbitmap()</code></a></i><br>
        <i>2.5.4 <a href="#nxfconvertbpp"><code>nxf_convert_*bpp()</code></a></i>
     </ul>
   </p>
patacongo's avatar
patacongo committed
   <p>
     <i><b>2.6</b> <a href="#samplecode">Sample Code</a></i>
   </p>
patacongo's avatar
patacongo committed
  </ul>
  <p>
    <big><b>Appendix A</b> <a href="#grapicsdirs"><code>graphics/</code> Directory Structure</a></big><br>
    <big><b>Appendix B</b> <a href="#nxconfigs">NX Configuration Options</a></big>
  </p>
  <p>
    <ul>
      <i><b>B.1</b> <a href="#nxgenconfig">General Configuration Settings</a></i><br>
      <i><b>B.2</b> <a href="#nxglconfig">NXGL Configuration Settings</a></i><br>
      <i><b>B.3</b> <a href="#nxconfig">NX Configuration Settings</a></i><br>
      <i><b>B.4</b> <a href="#nxmuconfig">NX Multi-User (Only) Configuration Settings</a></i><br>
      <i><b>B.5</b> <a href="#nxtkconfig">NXTK Configuration Settings</a></i><br>
      <i><b>B.6</b> <a href="#nxfpmtsconfig">NXFONTS Configuration Settings</a></i>
    </ul>
  </p>
  <p>
    <big><b>Appendix C</b> <a href="#testcoverage">NX Test Coverage</a></big>
  </p>
patacongo's avatar
patacongo committed
    <ul>
      <i><b>Table C.1:</b> <a href="#nxglibcoverage">NXGLIB API Test Coverage</a></i><br>
      <i><b>Table C.2:</b> <a href="#nxcbcoverage">NX Server Callbacks Test Coverage</a></i><br>
      <i><b>Table C.3:</b> <a href="#nxcoverage">NX API Test Coverage</a></i><br>
      <i><b>Table C.4:</b> <a href="#nxtkcoverage">NXTK API Test Coverage</a></i><br>
      <i><b>Table C.5:</b> <a href="#nxfontscoverage">NXFONTS API Test Coverage</a></i><br>
    </ul>
patacongo's avatar
patacongo committed
  </td>
  </tr>
</table>

<table width ="100%">
  <tr bgcolor="#e4e4e4">
    <td>
      <h1>1.0 <a name="Introduction">Introduction</a></h1>
    </td>
  </tr>
</table>

Loading
Loading full blame...