dwmlogo.c (1118B)
1 static void 2 resizerectangles(struct lock *lock) 3 { 4 int i; 5 6 for (i = 0; i < LENGTH(rectangles); i++){ 7 lock->rectangles[i].x = (rectangles[i].x * logosize) 8 + lock->xoff + ((lock->mw) / 2) - (logow / 2 * logosize); 9 lock->rectangles[i].y = (rectangles[i].y * logosize) 10 + lock->yoff + ((lock->mh) / 2) - (logoh / 2 * logosize); 11 lock->rectangles[i].width = rectangles[i].width * logosize; 12 lock->rectangles[i].height = rectangles[i].height * logosize; 13 } 14 } 15 16 static void 17 drawlogo(Display *dpy, struct lock *lock, int color) 18 { 19 #if BLUR_PIXELATED_SCREEN_PATCH 20 lock->drawable = lock->bgmap; 21 #else 22 XSetForeground(dpy, lock->gc, lock->colors[BACKGROUND]); 23 XFillRectangle(dpy, lock->drawable, lock->gc, 0, 0, lock->x, lock->y); 24 #endif // BLUR_PIXELATED_SCREEN_PATCH 25 XSetForeground(dpy, lock->gc, lock->colors[color]); 26 XFillRectangles(dpy, lock->drawable, lock->gc, lock->rectangles, LENGTH(rectangles)); 27 XCopyArea(dpy, lock->drawable, lock->win, lock->gc, 0, 0, lock->x, lock->y, 0, 0); 28 XSync(dpy, False); 29 }