annotate src/video/directfb/SDL_DirectFB_WM.h @ 3474:1edb86163d62

Of COURSE that trick wouldn't work on all renderers. Fall back to something for now, hopefully figure out a better way to do this later. If we have to, we can use vertical line and horizontal line textures for vertical and horizontal lines, and then create custom textures for diagonal lines and software render those. It's terrible, but at least it would be pixel perfect.
author Sam Lantinga <slouken@libsdl.org>
date Sat, 21 Nov 2009 07:22:59 +0000
parents 62d4992e5a92
children f7b03b6838cb
rev   line source
3023
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
1 /*
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
2 SDL - Simple DirectMedia Layer
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
3 Copyright (C) 1997-2009 Sam Lantinga
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
4
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
5 This library is free software; you can redistribute it and/or
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
6 modify it under the terms of the GNU Lesser General Public
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
7 License as published by the Free Software Foundation; either
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
8 version 2.1 of the License, or (at your option) any later version.
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
9
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
10 This library is distributed in the hope that it will be useful,
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
13 Lesser General Public License for more details.
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
14
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
15 You should have received a copy of the GNU Lesser General Public
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
16 License along with this library; if not, write to the Free Software
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
18
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
19 Sam Lantinga
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
20 slouken@libsdl.org
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
21 */
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
22 #include "SDL_config.h"
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
23
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
24 #ifndef _SDL_directfb_wm_h
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
25 #define _SDL_directfb_wm_h
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
26
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
27 typedef struct _DFB_Theme DFB_Theme;
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
28 struct _DFB_Theme
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
29 {
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
30 int left_size;
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
31 int right_size;
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
32 int top_size;
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
33 int bottom_size;
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
34 DFBColor frame_color;
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
35 int caption_size;
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
36 DFBColor caption_color;
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
37 int font_size;
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
38 DFBColor font_color;
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
39 char *font;
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
40 DFBColor close_color;
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
41 DFBColor max_color;
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
42 };
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
43
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
44 extern void DirectFB_WM_AdjustWindowLayout(SDL_Window * window);
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
45 extern void DirectFB_WM_MaximizeWindow(_THIS, SDL_Window * window);
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
46 extern void DirectFB_WM_RestoreWindow(_THIS, SDL_Window * window);
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
47 extern void DirectFB_WM_RedrawLayout(SDL_Window * window);
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
48
3040
Sam Lantinga <slouken@libsdl.org>
parents: 3023
diff changeset
49 extern int DirectFB_WM_ProcessEvent(_THIS, SDL_Window * window,
Sam Lantinga <slouken@libsdl.org>
parents: 3023
diff changeset
50 DFBWindowEvent * evt);
3023
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
51
3040
Sam Lantinga <slouken@libsdl.org>
parents: 3023
diff changeset
52 extern DFBResult DirectFB_WM_GetClientSize(_THIS, SDL_Window * window,
Sam Lantinga <slouken@libsdl.org>
parents: 3023
diff changeset
53 int *cw, int *ch);
3023
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
54
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
55
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
56 #endif /* _SDL_directfb_wm_h */
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
57
d72a0dd80e8b DirectFB cleanups & simple window manager
Couriersud <couriersud@arcor.de>
parents:
diff changeset
58 /* vi: set ts=4 sw=4 expandtab: */