📄 setclip.c
字号:
#include "nxlib.h"#include <stdlib.h>intXSetClipOrigin(Display *display, GC gc, int clip_x_origin, int clip_y_origin){ GrSetGCClipOrigin(gc->gid, clip_x_origin, clip_y_origin); return 1;}intXSetClipMask(Display *display, GC gc, Pixmap mask){ GR_REGION_ID r; GR_WINDOW_INFO info; if (mask == None) { GrSetGCRegion(gc->gid, 0); return 1; }printf("XSetClipMask %d\n", mask); GrGetWindowInfo(mask, &info); r = GrNewRegionFromPixmap(mask, 0, 0, info.width, info.height); GrSetGCRegion(gc->gid, r); /*GrDestroyRegion(r);*/ /* FIXME: LEAK: can't destroy region here...*/ return 1;}intXSetClipRectangles(Display *display, GC gc, int clip_x_origin, int clip_y_origin, XRectangle *rectangles, int n, int ordering){ GR_REGION_ID r; GrSetGCClipOrigin(gc->gid, clip_x_origin, clip_y_origin); if (n == 0) { /* FIXME need to disable all output here...*/ printf("XSetClipRectangles called with n=0\n"); return 1; } r = GrNewRegion(); while (--n >= 0) { GR_RECT rc; rc.x = rectangles->x; rc.y = rectangles->y; rc.width = rectangles->width; rc.height = rectangles->height; GrUnionRectWithRegion(r, &rc); ++rectangles; } GrSetGCRegion(gc->gid, r); /*GrDestroyRegion(r);*/ /* FIXME: LEAK: can't destroy region here...*/ return 1;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -