亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sec-gc.html

?? GTK+_ Gnome Application Development
?? HTML
?? 第 1 頁 / 共 3 頁
字號:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html>  <head>    <title>      Graphics Contexts    </title>    <meta name="GENERATOR" content=    "Modular DocBook HTML Stylesheet Version 1.45">    <link rel="HOME" title="GTK+ / Gnome Application Development"    href="ggad.html">    <link rel="UP" title="GDK Basics" href="cha-gdk.html">    <link rel="PREVIOUS" title="Fonts" href="sec-gdkfont.html">    <link rel="NEXT" title="Drawing" href="z132.html">  </head>  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink=   "#840084" alink="#0000FF">    <div class="NAVHEADER">      <table width="100%" border="0" bgcolor="#ffffff" cellpadding=       "1" cellspacing="0">        <tr>          <th colspan="4" align="center">            <font color="#000000" size="2">GTK+ / Gnome Application            Development</font>          </th>        </tr>        <tr>          <td width="25%" bgcolor="#ffffff" align="left">            <a href="sec-gdkfont.html"><font color="#0000ff" size=            "2"><b>&lt;&lt;&lt; Previous</b></font></a>          </td>          <td width="25%" colspan="2" bgcolor="#ffffff" align=           "center">            <font color="#0000ff" size="2"><b><a href="ggad.html">            <font color="#0000ff" size="2"><b>            Home</b></font></a></b></font>          </td>          <td width="25%" bgcolor="#ffffff" align="right">            <a href="z132.html"><font color="#0000ff" size="2"><b>            Next &gt;&gt;&gt;</b></font></a>          </td>        </tr>      </table>    </div>    <div class="SECT1">      <h1 class="SECT1">        <a name="SEC-GC">Graphics Contexts</a>      </h1>      <p>        A <i class="FIRSTTERM">graphics context</i>, or GC, is        simply a set of parameters to be used when drawing (such as        color, clip mask, font, and so on). It is a server-side        resource, just as pixmaps and windows are. GCs reduce the        number of arguments to the GDK drawing functions, and also        reduce the number of parameters passed from client to        server with each drawing request.      </p>      <p>        A graphics context can be created with a <span class=         "STRUCTNAME">GdkGCValues</span> struct, analagous to <span        class="STRUCTNAME">GdkWindowAttr</span>; the struct        contains all the interesting features of a graphics        context, and you pass <tt class="FUNCTION">        gdk_gc_new_with_values()</tt> flags indicating which fields        are valid. The other fields retain their default value. You        can also create an all-default GC with <tt class=        "FUNCTION">gdk_gc_new()</tt> (this is usually easier).        Functions are provided to change GC settings after the GC        is created as well---but remember that each change requires        a message to the X server. These functions are summarized        in <a href="sec-gc.html#FL-GDKGC">Figure 16</a>. The        attributes of a GC, and the flags used as the final        argument to <tt class="FUNCTION">        gdk_gc_new_with_values()</tt>, are summarized in <a href=         "sec-gc.html#TAB-GDKGC">Table 6</a>.      </p>      <p>        All GCs are not interchangeable; they are tied to a        particular depth and visual. The GC's depth and visual must        match the depth and visual of the drawable you are drawing        to. A GC's depth and visual are taken from the <span class=         "STRUCTNAME">GdkWindow*</span> argument to <tt class=         "FUNCTION">gdk_gc_new()</tt>, so the easiest way to handle        this issue is to create the GC with the window you plan to        draw on.      </p>      <p>        <span class="STRUCTNAME">GdkGCValues</span> is a nice        summary of a GC's attributes:      </p>      <table border="0" bgcolor="#E0E0E0" width="100%">        <tr>          <td><pre class="PROGRAMLISTING">&#13;typedef struct _GdkGCValues GdkGCValues;struct _GdkGCValues{  GdkColor          foreground;  GdkColor          background;  GdkFont          *font;  GdkFunction       function;  GdkFill           fill;  GdkPixmap        *tile;  GdkPixmap        *stipple;  GdkPixmap        *clip_mask;  GdkSubwindowMode  subwindow_mode;  gint              ts_x_origin;  gint              ts_y_origin;  gint              clip_x_origin;  gint              clip_y_origin;  gint              graphics_exposures;  gint              line_width;  GdkLineStyle      line_style;  GdkCapStyle       cap_style;  GdkJoinStyle      join_style;};&#13;</pre>          </td>        </tr>      </table>      <p>        The <span class="STRUCTNAME">foreground</span> color is the        "pen color" used to draw lines, circles, and other shapes.        The purpose of the <span class="STRUCTNAME">        background</span> color depends on the particular drawing        operation. These colors must be allocated in the current        colormap with <tt class="FUNCTION">gdk_color_alloc()</tt>.      </p>      <p>        The <span class="STRUCTNAME">font</span> field is unused:        in Xlib, it specifies the font to use when drawing text. In        GDK, it used to have the same purpose; but now the GDK        routines for drawing text all require a <span class=         "STRUCTNAME">GdkFont*</span> argument instead. An Xlib        graphics context can only store plain fonts, but a <span        class="STRUCTNAME">GdkFont</span> can also represent a        fontset (used to render some foreign languages). GDK should        probably store a font field in its <span class=        "STRUCTNAME">GdkGC</span> instead of requiring a font        argument to the text-drawing functions, but it doesn't.      </p>      <p>        The <span class="STRUCTNAME">function</span> field        specifies how each pixel being drawn is combined with the        pixel that already exists in the drawable. There are many        possible values, but only two are ever used:      </p>      <ul>        <li>          <p>            <span class="STRUCTNAME">GDK_COPY</span> is the            default. It ignores the existing pixel (just writes the            new pixel over it).&#13;          </p>        </li>        <li>          <p>            <span class="STRUCTNAME">GDK_XOR</span> combines the            old and new pixels in an invertable way. That is, if            you perform exactly the same <span class="STRUCTNAME">            GDK_XOR</span> operation twice, the first draw is            undone by the second. <span class="STRUCTNAME">            GDK_XOR</span> is often used for "rubberbanding," since            it makes it easy to restore the original contents of            the drawable once rubberbanding is complete.&#13;          </p>        </li>      </ul>      <p>        The <span class="STRUCTNAME">fill</span> field determines        how the <span class="STRUCTNAME">tile</span> and <span        class="STRUCTNAME">stipple</span> fields are used. A <span        class="STRUCTNAME">tile</span> is a pixmap with the same        depth as the destination drawable; it is copied over and        over into the destination drawable---the origin of the        first tile is (<span class="STRUCTNAME">ts_x_origin</span>,        <span class="STRUCTNAME">ts_y_origin</span>). A <span        class="STRUCTNAME">stipple</span> is a bitmap (pixmap with        depth 1); stipples are also tiled starting at (<span class=         "STRUCTNAME">ts_x_origin</span>, <span class="STRUCTNAME">        ts_y_origin</span>). Possible <span class="STRUCTNAME">        fill</span> values are:      </p>      <ul>        <li>          <p>            <span class="STRUCTNAME">GDK_SOLID</span> means to            ignore the <span class="STRUCTNAME">tile</span> and            <span class="STRUCTNAME">stipple</span>. Shapes are            drawn in the foreground and background colors.&#13;          </p>        </li>        <li>          <p>            <span class="STRUCTNAME">GDK_TILED</span> means that            shapes are drawn with the tile, instead of the            foreground and background colors. Imagine a tiled            surface underneath your drawable; drawing in <span            class="STRUCTNAME">GDK_TILED</span> mode will scratch            away the contents of the drawable, revealing the tiled            surface underneath.&#13;          </p>        </li>        <li>          <p>            <span class="STRUCTNAME">GDK_STIPPLED</span> is like            <span class="STRUCTNAME">GDK_SOLID</span> with a            bitmask defined by the stipple. That is, bits not set            in the stipple are not drawn.&#13;          </p>        </li>        <li>          <p>            <span class="STRUCTNAME">GDK_OPAQUE_STIPPLED</span>            draws bits set in the stipple with the foreground            color, and bits not set in the stipple with the            background color.&#13;          </p>        </li>      </ul>      <p>        Some X servers do not implement the more obscure function        and fill modes very efficiently. Don't be surprised if        using them noticeably slows down drawing.      </p>      <p>        The optional <span class="STRUCTNAME">clip_mask</span> is a        bitmap; only bits set in this bitmap will be drawn. The        mapping from the clip mask to the drawable is determined by        <span class="STRUCTNAME">clip_x_origin</span> and <span        class="STRUCTNAME">clip_y_origin</span>; these define the        drawable coordinates corresponding to (0,0) in the clip        mask. It is also possible to set a clip rectangle (the most        common and useful form of clipping) or a clip region (a        region is an arbitrary area on the screen, typically a        polygon or list of rectangles). To set a clip rectangle,        use <tt class="FUNCTION">gdk_gc_set_clip_rectangle()</tt>:      </p>      <table border="0" bgcolor="#E0E0E0" width="100%">        <tr>          <td><pre class="PROGRAMLISTING">&#13;  GdkRectangle clip_rect;  clip_rect.x = 10;  clip_rect.y = 20;  clip_rect.width = 200;  clip_rect.height = 100;  gdk_gc_set_clip_rectangle(gc, &amp;clip_rect);&#13;</pre>          </td>        </tr>      </table>      <p>        To turn off clipping, set the clip rectangle, clip region,        or clip mask to <span class="STRUCTNAME">NULL</span>.      </p>      <p>        The <span class="STRUCTNAME">subwindow_mode</span> of a GC        only matters if the drawable is a window. The default        setting is <span class="STRUCTNAME">        GDK_CLIP_BY_CHILDREN</span>; this means that child windows        are not affected by drawing on parent windows. This        preserves the illusion that child windows are "on top" of        parents, and child windows are opaque. <span class=         "STRUCTNAME">GDK_INCLUDE_INFERIORS</span> will draw right        over the top of any child windows, overwriting any graphics        the child windows may contain; normally this mode is not        used. If you do use <span class="STRUCTNAME">        GDK_INCLUDE_INFERIORS</span>, you will probably use <span        class="STRUCTNAME">GDK_XOR</span> as your drawing function,        since it allows you to restore the child windows' previous        contents.      </p>      <p>        <span class="STRUCTNAME">graphics_exposures</span> is a        boolean value which defaults to <span class="STRUCTNAME">        TRUE</span>; it determines whether <tt class="FUNCTION">        gdk_window_copy_area()</tt> sometimes generates expose        events. <a href="sec-gdkevent.html#SEC-EXPOSEEVENTS">the        section called <i>Expose Events</i></a> explained this in        more detail.      </p>      <p>        The final four GC values determine how lines are drawn.        These values are used for drawing lines, including the        borders of unfilled polygons and arcs. The <span class=         "STRUCTNAME">line_width</span> field specifies the width of        a line, in pixels. A line width of 0 specifies a "thin        line"; thin lines are one-pixel lines that can be drawn        very quickly (usually with hardware acceleration), but the        exact pixels drawn depend on the X server in use. For        consistent results, use a width of 1 instead.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区国产豹纹内裤在线| 欧美精品一区二区三| 国产精品美女久久久久aⅴ| 国产精品一品视频| 中文字幕+乱码+中文字幕一区| 国产一区 二区| 亚洲国产高清aⅴ视频| av网站免费线看精品| 亚洲最色的网站| 欧美一区二区二区| 精品一区二区三区蜜桃| 国产日韩欧美麻豆| 色94色欧美sute亚洲线路一ni| 亚洲成人精品在线观看| 日韩一级二级三级| 高清成人免费视频| 亚洲精品精品亚洲| 91精品国产一区二区三区香蕉| 韩国精品免费视频| 中文字幕一区日韩精品欧美| 欧美色综合天天久久综合精品| 日本成人在线不卡视频| 国产日韩欧美精品在线| 在线观看国产一区二区| 国内精品久久久久影院薰衣草| 精品国产一区二区三区四区四| 成人高清免费在线播放| 午夜欧美在线一二页| 国产亚洲人成网站| 欧美视频一区在线| 国产精品996| 亚洲国产日韩a在线播放| 久久久美女毛片| 欧美日韩三级在线| 国产成人精品亚洲777人妖| 亚洲一卡二卡三卡四卡| 4438x成人网最大色成网站| 不卡免费追剧大全电视剧网站| 日韩精品一级中文字幕精品视频免费观看| 日韩欧美一级片| av不卡免费在线观看| 美女视频黄 久久| 一区二区三区电影在线播| 久久伊人中文字幕| 欧美日韩高清在线| 9i在线看片成人免费| 九九视频精品免费| 亚洲成人激情社区| 亚洲三级久久久| 久久精品欧美一区二区三区不卡| 欧美日韩亚洲丝袜制服| 91视频免费观看| 成人自拍视频在线观看| 美女在线视频一区| 天堂蜜桃91精品| 亚洲综合一区二区| 亚洲欧美二区三区| 国产精品伦理一区二区| 国产亚洲欧洲997久久综合 | aaa欧美日韩| 国产一区二区三区观看| 日本亚洲视频在线| 亚洲一区二区三区自拍| 亚洲色图第一区| 国产精品视频在线看| 国产午夜精品一区二区三区嫩草 | 精品一区二区久久久| 亚洲国产综合在线| 亚洲女与黑人做爰| 亚洲欧洲av一区二区三区久久| 久久久精品日韩欧美| 精品1区2区在线观看| 日韩精品一区二区三区在线| 欧美一三区三区四区免费在线看 | 国产三区在线成人av| 精品国产亚洲在线| 2021久久国产精品不只是精品 | 日韩精品一区二区三区四区视频| 欧美精品在线视频| 欧美日韩高清一区二区三区| 欧美日韩一级大片网址| 欧美精品自拍偷拍| 日韩一区和二区| 日韩精品一区在线观看| 精品国精品国产| 久久久久久电影| 国产欧美1区2区3区| 国产精品人人做人人爽人人添| 国产精品久久久久久久久免费相片 | 久久av中文字幕片| 久久国产精品无码网站| 国产精品自拍在线| 成人国产亚洲欧美成人综合网| 高清久久久久久| 91欧美激情一区二区三区成人| 在线观看网站黄不卡| 欧美日韩一二区| 欧美zozozo| 国产人久久人人人人爽| 综合欧美一区二区三区| 一区二区三区不卡在线观看| 日韩中文字幕亚洲一区二区va在线| 日韩高清在线不卡| 狠狠色狠狠色综合系列| 99久久免费国产| 欧美精品v日韩精品v韩国精品v| 欧美一区二区三区播放老司机| 精品1区2区在线观看| 中文字幕一区二区在线观看| 亚洲成人资源网| 国产精品99久久久| 欧美无人高清视频在线观看| 日韩午夜av电影| 中文字幕一区二区三区精华液| 亚洲一区二区三区视频在线| 国内精品写真在线观看| 色狠狠色狠狠综合| 精品国产乱码久久久久久久| 亚洲视频电影在线| 国产一区二区在线观看视频| 99精品欧美一区二区三区小说 | 欧美一二三在线| 国产精品伦一区二区三级视频| 亚洲成人av一区二区三区| 国产毛片精品国产一区二区三区| 91在线观看美女| 久久一夜天堂av一区二区三区| 亚洲一区二区欧美日韩| 国产精品99久久久久久久vr| 在线播放欧美女士性生活| 亚洲国产精品成人综合色在线婷婷 | 欧美国产日产图区| 日本中文一区二区三区| aa级大片欧美| 久久伊99综合婷婷久久伊| 肉丝袜脚交视频一区二区| av电影在线不卡| 国产午夜精品福利| 欧美a一区二区| 欧美视频完全免费看| 中文字幕在线一区| 国产精品一区2区| 日韩精品一区国产麻豆| 天堂资源在线中文精品| 91亚洲精品久久久蜜桃网站| 国产欧美在线观看一区| 免费观看91视频大全| 欧美精品在线观看一区二区| 亚洲免费在线观看| 99久久国产综合色|国产精品| 久久天天做天天爱综合色| 日韩国产欧美一区二区三区| 欧美日韩在线播放一区| 亚洲人妖av一区二区| 国产乱码精品一区二区三区av| 日韩精品一区二区在线观看| 天天综合网天天综合色| 精品视频在线免费| 一个色综合网站| 91精品91久久久中77777| 1000精品久久久久久久久| 成人午夜av影视| 欧美国产1区2区| 国产v综合v亚洲欧| 国产婷婷精品av在线| 国产成人午夜视频| 久久精品欧美一区二区三区不卡| 国产乱子伦视频一区二区三区| 精品久久久久一区| 狠狠色2019综合网| 久久免费视频色| 国产精品99久久久久久久女警| 国产色爱av资源综合区| 国产91富婆露脸刺激对白| 亚洲国产精品成人综合| 99久久免费精品高清特色大片| 亚洲欧美日韩精品久久久久| 91国模大尺度私拍在线视频| 亚洲五月六月丁香激情| 欧美日韩免费在线视频| 日本亚洲一区二区| 精品处破学生在线二十三| 国产 日韩 欧美大片| 国产精品二区一区二区aⅴ污介绍| 99精品久久99久久久久| 亚洲自拍与偷拍| 91精品午夜视频| 国产精品综合一区二区三区| 亚洲欧洲精品一区二区三区不卡| 91麻豆文化传媒在线观看| 一区二区成人在线| 日韩亚洲欧美成人一区| 国产老女人精品毛片久久| 亚洲欧美在线视频| 欧美日韩国产成人在线免费| 麻豆国产欧美日韩综合精品二区 | 91在线视频免费91| 亚洲国产一二三| 亚洲精品在线免费观看视频| 成人激情电影免费在线观看|