1 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
3 framerender.c for the Openbox window manager
4 Copyright (c) 2006 Mikael Magnusson
5 Copyright (c) 2003-2007 Dana Jansens
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 See the COPYING file for a copy of the GNU General Public License.
24 #include "framerender.h"
25 #include "obrender/theme.h"
27 void framerender_frame(ObFrame *self)
29 if (CLIENT_AS_WINDOW(self->client)->redir)
30 return; /* being rendered with composite */
31 if (frame_iconify_animating(self))
32 return; /* delay redrawing until the animation is done */
33 if (!self->need_render)
37 self->need_render = FALSE;
39 /* XXX draw everything in the frame */
44 RrColorPixel(ob_rr_theme->frame_focused_border_color) :
45 RrColorPixel(ob_rr_theme->frame_unfocused_border_color));
47 XSetWindowBackground(obt_display, self->window, px);
48 XClearWindow(obt_display, self->window);
51 if (self->decorations & OB_FRAME_DECOR_TITLEBAR) {
52 /* XXX draw the titlebar */
55 if (self->decorations & OB_FRAME_DECOR_HANDLE) {
56 /* XXX draw the handle */