1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
/**
* This file is a part of the Cairo-Dock project
*
* Copyright : (C) see the 'copyright' file.
* E-mail : see the 'copyright' file.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 3
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __CD_APPLET_STRUCT__
#define __CD_APPLET_STRUCT__
#include <cairo-dock.h>
#define SWITCHER_DEFAULT_NAME "Switcher"
typedef enum {
SWICTHER_DRAW_FRAME,
SWICTHER_FILL,
SWICTHER_FILL_INVERTED,
SWICTHER_NB_MODES,
} SwitcherDrawCurrentDesktopMode;
struct _AppletConfig {
gboolean bCompactView;
gboolean bMapWallpaper;
gboolean bDrawWindows;
gboolean bDisplayNumDesk;
gchar *cDefaultIcon;
gboolean bDesklet3D;
gchar *cThemePath;
gchar *cRenderer;
gdouble RGBInLineColors[4];
gdouble RGBLineColors[4];
gdouble RGBWLineColors[4];
gdouble RGBIndColors[4];
gint iInLineSize;
gint iLineSize;
gint iWLineSize;
gboolean bPreserveScreenRatio;
SwitcherDrawCurrentDesktopMode iDrawCurrentDesktopMode;
gboolean bDisplayHiddenWindows;
gchar **cDesktopNames;
gint iNbNames;
gint iActionOnMiddleClick;
} ;
typedef struct
{
gint iCurrentDesktop, iCurrentViewportX, iCurrentViewportY;
gint iNbViewportTotal;
gint iNbLines, iNbColumns;
gint iCurrentLine, iCurrentColumn;
double fOneViewportWidth;
double fOneViewportHeight;
double fOffsetX, fOffsetY;
} SwitcherApplet;
typedef void (*CDSwitcherActionOnViewportFunc) (Icon *pIcon, int iNumDesktop, int iNumViewportX, int iNumViewportY, gpointer pUserData);
struct _AppletData {
SwitcherApplet switcher;
cairo_surface_t *pDefaultMapSurface;
cairo_surface_t *pDesktopBgMapSurface;
gint iSidRedrawMainIconIdle;
gint iSidAutoRefresh;
gint iPrevIndexHovered;
gdouble fDesktopNameAlpha;
guint iSidPainIcons;
} ;
#endif
|