📄 gdkgc.c
字号:
case CapProjecting: values->cap_style = GDK_CAP_PROJECTING; break; } switch (xvalues.join_style) { case JoinMiter: values->join_style = GDK_JOIN_MITER; break; case JoinRound: values->join_style = GDK_JOIN_ROUND; break; case JoinBevel: values->join_style = GDK_JOIN_BEVEL; break; } } else { memset (values, 0, sizeof (GdkGCValues)); }}voidgdk_gc_set_foreground (GdkGC *gc, GdkColor *color){ GdkGCPrivate *private; g_return_if_fail (gc != NULL); g_return_if_fail (color != NULL); private = (GdkGCPrivate*) gc; XSetForeground (private->xdisplay, private->xgc, color->pixel);}voidgdk_gc_set_background (GdkGC *gc, GdkColor *color){ GdkGCPrivate *private; g_return_if_fail (gc != NULL); g_return_if_fail (color != NULL); private = (GdkGCPrivate*) gc; XSetBackground (private->xdisplay, private->xgc, color->pixel);}voidgdk_gc_set_font (GdkGC *gc, GdkFont *font){ GdkGCPrivate *gc_private; GdkFontPrivate *font_private; g_return_if_fail (gc != NULL); g_return_if_fail (font != NULL); if (font->type == GDK_FONT_FONT) { gc_private = (GdkGCPrivate*) gc; font_private = (GdkFontPrivate*) font; XSetFont (gc_private->xdisplay, gc_private->xgc, ((XFontStruct *) font_private->xfont)->fid); }}voidgdk_gc_set_function (GdkGC *gc, GdkFunction function){ GdkGCPrivate *private; g_return_if_fail (gc != NULL); private = (GdkGCPrivate*) gc; switch (function) { case GDK_COPY: XSetFunction (private->xdisplay, private->xgc, GXcopy); break; case GDK_INVERT: XSetFunction (private->xdisplay, private->xgc, GXinvert); break; case GDK_XOR: XSetFunction (private->xdisplay, private->xgc, GXxor); break; case GDK_CLEAR: XSetFunction (private->xdisplay, private->xgc, GXclear); break; case GDK_AND: XSetFunction (private->xdisplay, private->xgc, GXand); break; case GDK_AND_REVERSE: XSetFunction (private->xdisplay, private->xgc, GXandReverse); break; case GDK_AND_INVERT: XSetFunction (private->xdisplay, private->xgc, GXandInverted); break; case GDK_NOOP: XSetFunction (private->xdisplay, private->xgc, GXnoop); break; case GDK_OR: XSetFunction (private->xdisplay, private->xgc, GXor); break; case GDK_EQUIV: XSetFunction (private->xdisplay, private->xgc, GXequiv); break; case GDK_OR_REVERSE: XSetFunction (private->xdisplay, private->xgc, GXorReverse); break; case GDK_COPY_INVERT: XSetFunction (private->xdisplay, private->xgc, GXcopyInverted); break; case GDK_OR_INVERT: XSetFunction (private->xdisplay, private->xgc, GXorInverted); break; case GDK_NAND: XSetFunction (private->xdisplay, private->xgc, GXnand); break; case GDK_SET: XSetFunction (private->xdisplay, private->xgc, GXset); break; }}voidgdk_gc_set_fill (GdkGC *gc, GdkFill fill){ GdkGCPrivate *private; g_return_if_fail (gc != NULL); private = (GdkGCPrivate*) gc; switch (fill) { case GDK_SOLID: XSetFillStyle (private->xdisplay, private->xgc, FillSolid); break; case GDK_TILED: XSetFillStyle (private->xdisplay, private->xgc, FillTiled); break; case GDK_STIPPLED: XSetFillStyle (private->xdisplay, private->xgc, FillStippled); break; case GDK_OPAQUE_STIPPLED: XSetFillStyle (private->xdisplay, private->xgc, FillOpaqueStippled); break; }}voidgdk_gc_set_tile (GdkGC *gc, GdkPixmap *tile){ GdkGCPrivate *private; GdkPixmapPrivate *pixmap_private; Pixmap pixmap; g_return_if_fail (gc != NULL); private = (GdkGCPrivate*) gc; pixmap = None; if (tile) { pixmap_private = (GdkPixmapPrivate*) tile; pixmap = pixmap_private->xwindow; } XSetTile (private->xdisplay, private->xgc, pixmap);}voidgdk_gc_set_stipple (GdkGC *gc, GdkPixmap *stipple){ GdkGCPrivate *private; GdkPixmapPrivate *pixmap_private; Pixmap pixmap; g_return_if_fail (gc != NULL); private = (GdkGCPrivate*) gc; pixmap = None; if (stipple) { pixmap_private = (GdkPixmapPrivate*) stipple; pixmap = pixmap_private->xwindow; } XSetStipple (private->xdisplay, private->xgc, pixmap);}voidgdk_gc_set_ts_origin (GdkGC *gc, gint x, gint y){ GdkGCPrivate *private; g_return_if_fail (gc != NULL); private = (GdkGCPrivate*) gc; XSetTSOrigin (private->xdisplay, private->xgc, x, y);}voidgdk_gc_set_clip_origin (GdkGC *gc, gint x, gint y){ GdkGCPrivate *private; g_return_if_fail (gc != NULL); private = (GdkGCPrivate*) gc; XSetClipOrigin (private->xdisplay, private->xgc, x, y);}voidgdk_gc_set_clip_mask (GdkGC *gc, GdkBitmap *mask){ GdkGCPrivate *private; Pixmap xmask; g_return_if_fail (gc != NULL); if (mask) { GdkWindowPrivate *mask_private; mask_private = (GdkWindowPrivate*) mask; if (mask_private->destroyed) return; xmask = mask_private->xwindow; } else xmask = None; private = (GdkGCPrivate*) gc; XSetClipMask (private->xdisplay, private->xgc, xmask);}voidgdk_gc_set_clip_rectangle (GdkGC *gc, GdkRectangle *rectangle){ GdkGCPrivate *private; XRectangle xrectangle; g_return_if_fail (gc != NULL); private = (GdkGCPrivate*) gc; if (rectangle) { xrectangle.x = rectangle->x; xrectangle.y = rectangle->y; xrectangle.width = rectangle->width; xrectangle.height = rectangle->height; XSetClipRectangles (private->xdisplay, private->xgc, 0, 0, &xrectangle, 1, Unsorted); } else XSetClipMask (private->xdisplay, private->xgc, None);} voidgdk_gc_set_clip_region (GdkGC *gc, GdkRegion *region){ GdkGCPrivate *private; g_return_if_fail (gc != NULL); private = (GdkGCPrivate*) gc; if (region) { GdkRegionPrivate *region_private; region_private = (GdkRegionPrivate*) region; XSetRegion (private->xdisplay, private->xgc, region_private->xregion); } else XSetClipMask (private->xdisplay, private->xgc, None);}voidgdk_gc_set_subwindow (GdkGC *gc, GdkSubwindowMode mode){ GdkGCPrivate *private; g_return_if_fail (gc != NULL); private = (GdkGCPrivate*) gc; XSetSubwindowMode (private->xdisplay, private->xgc, mode);}voidgdk_gc_set_exposures (GdkGC *gc, gint exposures){ GdkGCPrivate *private; g_return_if_fail (gc != NULL); private = (GdkGCPrivate*) gc; XSetGraphicsExposures (private->xdisplay, private->xgc, exposures);}voidgdk_gc_set_line_attributes (GdkGC *gc, gint line_width, GdkLineStyle line_style, GdkCapStyle cap_style, GdkJoinStyle join_style){ GdkGCPrivate *private; int xline_style; int xcap_style; int xjoin_style; g_return_if_fail (gc != NULL); private = (GdkGCPrivate*) gc; switch (line_style) { case GDK_LINE_SOLID: xline_style = LineSolid; break; case GDK_LINE_ON_OFF_DASH: xline_style = LineOnOffDash; break; case GDK_LINE_DOUBLE_DASH: xline_style = LineDoubleDash; break; default: xline_style = None; } switch (cap_style) { case GDK_CAP_NOT_LAST: xcap_style = CapNotLast; break; case GDK_CAP_BUTT: xcap_style = CapButt; break; case GDK_CAP_ROUND: xcap_style = CapRound; break; case GDK_CAP_PROJECTING: xcap_style = CapProjecting; break; default: xcap_style = None; } switch (join_style) { case GDK_JOIN_MITER: xjoin_style = JoinMiter; break; case GDK_JOIN_ROUND: xjoin_style = JoinRound; break; case GDK_JOIN_BEVEL: xjoin_style = JoinBevel; break; default: xjoin_style = None; } XSetLineAttributes (private->xdisplay, private->xgc, line_width, xline_style, xcap_style, xjoin_style);}voidgdk_gc_set_dashes (GdkGC *gc, gint dash_offset, gchar dash_list[], gint n){ GdkGCPrivate *private; g_return_if_fail (gc != NULL); g_return_if_fail (dash_list != NULL); private = (GdkGCPrivate*) gc; XSetDashes (private->xdisplay, private->xgc, dash_offset, dash_list, n);}voidgdk_gc_copy (GdkGC *dst_gc, GdkGC *src_gc){ GdkGCPrivate *dst_private, *src_private; src_private = (GdkGCPrivate *) src_gc; dst_private = (GdkGCPrivate *) dst_gc; XCopyGC (src_private->xdisplay, src_private->xgc, ~((~1) << GCLastBit), dst_private->xgc);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -