~ubuntu-branches/debian/sid/kde-style-qtcurve/sid

« back to all changes in this revision

Viewing changes to common/common.h

  • Committer: Bazaar Package Importer
  • Author(s): Fathi Boudra
  • Date: 2010-05-20 11:20:13 UTC
  • mfrom: (15.1.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20100520112013-1vrfyxbw23qqbjsh
Tags: 1.4.1-1
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
47
47
 
48
48
/*
49
49
    The following #define disables the rounding when scrollbar type==none.
50
 
#define QTC_SIMPLE_SCROLLBARS
 
50
#define SIMPLE_SCROLLBARS
51
51
*/
52
52
 
53
53
/*
55
55
    the scrollbar buttons when at min/max. This removes the thick looking line
56
56
    between the slider and the buttons.
57
57
*/
58
 
#define QTC_INCREASE_SB_SLIDER
 
58
#define INCREASE_SB_SLIDER
59
59
 
60
60
/*
61
61
    Control shading used for glass variants.
63
63
    1 => As used in 0.51
64
64
    2 => As used in <0.51
65
65
*/
66
 
#define QTC_GLASS_SHADING 0
 
66
#define GLASS_SHADING 0
67
67
 
68
68
typedef enum
69
69
{
75
75
 
76
76
#ifdef __cplusplus
77
77
#include <qconfig.h>
78
 
#ifdef QTC_CONFIG_DIALOG
 
78
#ifdef CONFIG_DIALOG
79
79
#include <qapplication.h>
80
80
#endif
81
81
#include <map>
82
82
#include <set>
83
 
#if !defined QTC_CONFIG_DIALOG && defined QT_VERSION && (QT_VERSION >= 0x040000)
 
83
#if !defined CONFIG_DIALOG && defined QT_VERSION && (QT_VERSION >= 0x040000)
84
84
#include <QtCore/QString>
85
85
#endif
86
86
#else
106
106
#define false FALSE
107
107
#endif
108
108
 
109
 
#define QTC_GROUP        "Settings"
110
 
/*#define QTC_DESCR_GROUP  "Description"*/
 
109
#define SETTINGS_GROUP        "Settings"
 
110
/*#define DESCR_GROUP  "Description"*/
111
111
 
112
112
/* qtc_<theme name>.themerc support */
113
113
#define KDE_PREFIX(V) ((4==(V)) ? KDE4PREFIX : KDE3PREFIX)
114
 
#define QTC_THEME_DIR    "/share/apps/kstyle/themes/"
115
 
#define QTC_THEME_DIR4   "/share/kde4/apps/kstyle/themes/"
116
 
#define QTC_THEME_PREFIX "qtc_"
117
 
#define QTC_THEME_SUFFIX ".themerc"
 
114
#define THEME_DIR    "/share/apps/kstyle/themes/"
 
115
#define THEME_DIR4   "/share/kde4/apps/kstyle/themes/"
 
116
#define THEME_PREFIX "qtc_"
 
117
#define THEME_SUFFIX ".themerc"
 
118
#define BORDER_SIZE_FILE "windowBorderSizes"
118
119
 
119
 
#define QTC_LV_SIZE      7
 
120
#define LV_SIZE      7
120
121
 
121
122
#define LARGE_ARR_WIDTH  7
122
123
#define LARGE_ARR_HEIGHT 4
134
135
#define SHADE_2_HIGHLIGHT    NUM_STD_SHADES+2
135
136
 
136
137
/* 3d effect - i.e. buttons, etc */
137
 
#define QTC_SHADES \
 
138
#define SHADES \
138
139
    static const double shades[2][11][NUM_STD_SHADES]=\
139
140
    { \
140
141
        { /* HSV & HSL */ \
165
166
        } \
166
167
    } ;
167
168
 
168
 
#define QTC_SIMPLE_SHADING (!shading)
169
 
#define QTC_DEFAULT_CONTRAST 7
170
 
 
171
 
#define QTC_THIN_SBAR_MOD  ((opts.sliderWidth<DEFAULT_SLIDER_WIDTH ? 3 : opts.sliderWidth>DEFAULT_SLIDER_WIDTH ? (opts.sliderWidth-9)/2 : 4)+(EFFECT_NONE==opts.buttonEffect ? 1 : 0))
172
 
#define QTC_SLIDER_SIZE (opts.sliderWidth<DEFAULT_SLIDER_WIDTH ? DEFAULT_SLIDER_WIDTH-2 : opts.sliderWidth)
173
 
#define QTC_CIRCULAR_SLIDER_SIZE 15
174
 
#define QTC_GLOW_MO        1 /*ORIGINAL_SHADE*/
175
 
#define QTC_GLOW_DEFBTN    1
176
 
#define QTC_GLOW_ALPHA(DEF) ((DEF) ? 0.5 : 0.65)
177
 
#define QTC_DEF_BNT_TINT   0.4
178
 
#define QTC_ENTRY_INNER_ALPHA 0.4
179
 
 
180
 
#define QT_STD_BORDER      5
181
 
#define QT_STD_BORDER_BR   2
182
 
#define QT_PBAR_BORDER     4
183
 
#define QT_ARROW_MO        4
184
 
#define QT_LOWER_BORDER_ALPHA 0.35
185
 
#define QT_DISABLED_BORDER QT_STD_BORDER /*3*/
186
 
#define QT_BORDER(E) (/*(E) ?*/ QT_STD_BORDER/* : QT_DISABLED_BORDER*/)
187
 
#define QT_SLIDER_MO_BORDER 3
188
 
 
189
 
#define QT_FRAME_DARK_SHADOW 2
190
 
#define QT_FOCUS(SEL)         ((SEL) ? 3 : ORIGINAL_SHADE)
191
 
#define QTC_MENU_STRIPE_SHADE (USE_LIGHTER_POPUP_MENU ? ORIGINAL_SHADE : 2)
192
 
#define QTC_MENU_SEP_SHADE    (USE_LIGHTER_POPUP_MENU ? 4 : 3)
193
 
 
194
 
#define QTC_SHADE(c, s) \
 
169
#define SIMPLE_SHADING (!shading)
 
170
#define DEFAULT_CONTRAST 7
 
171
 
 
172
#define THIN_SBAR_MOD  ((opts.sliderWidth<DEFAULT_SLIDER_WIDTH ? 3 : opts.sliderWidth>DEFAULT_SLIDER_WIDTH ? (opts.sliderWidth-9)/2 : 4)+(EFFECT_NONE==opts.buttonEffect ? 1 : 0))
 
173
#define SLIDER_SIZE (opts.sliderWidth<DEFAULT_SLIDER_WIDTH ? DEFAULT_SLIDER_WIDTH-2 : opts.sliderWidth)
 
174
#define CIRCULAR_SLIDER_SIZE 15
 
175
#define GLOW_MO           1 /*ORIGINAL_SHADE*/
 
176
#define GLOW_DEFBTN       1
 
177
#define GLOW_ALPHA(DEF)   ((DEF) ? 0.5 : 0.65)
 
178
#define DEF_BNT_TINT      0.4
 
179
#define ENTRY_INNER_ALPHA 0.4
 
180
 
 
181
#define SUNKEN_BEVEL_DARK_ALPHA  0.25
 
182
#define SUNKEN_BEVEL_LIGHT_ALPHA 0.40
 
183
 
 
184
#define MENU_SIZE_ATOM        "_QTCURVE_MENUBAR_SIZE_"
 
185
#define STATUSBAR_ATOM        "_QTCURVE_STATUSBAR_"
 
186
#define TITLEBAR_SIZE_ATOM    "_QTCURVE_TITLEBAR_SIZE_"
 
187
#define ACTIVE_WINDOW_ATOM    "_QTCURVE_ACTIVE_WINDOW_"
 
188
#define TOGGLE_MENUBAR_ATOM   "_QTCURVE_TOGGLE_MENUBAR_"
 
189
#define TOGGLE_STATUSBAR_ATOM "_QTCURVE_TOGGLE_STATUSBAR_"
 
190
#define BLEND_TITLEBAR     (opts.menubarAppearance==opts.titlebarAppearance && opts.menubarAppearance==opts.inactiveTitlebarAppearance && \
 
191
                           !opts.titlebarBlend && SHADE_WINDOW_BORDER==opts.shadeMenubars && opts.windowDrag)
 
192
 
 
193
#define STD_BORDER         5
 
194
#define STD_BORDER_BR      2
 
195
#define PBAR_BORDER        4
 
196
#define ARROW_MO_SHADE     4
 
197
#define LOWER_BORDER_ALPHA 0.35
 
198
#define DISABLED_BORDER STD_BORDER /*3*/
 
199
#define BORDER_VAL(E) (/*(E) ?*/ STD_BORDER/* : DISABLED_BORDER*/)
 
200
#define SLIDER_MO_BORDER_VAL 3
 
201
 
 
202
#define FRAME_DARK_SHADOW 2
 
203
#define FOCUS_SHADE(SEL)         ((SEL) ? 3 : ORIGINAL_SHADE)
 
204
#define MENU_STRIPE_SHADE (USE_LIGHTER_POPUP_MENU ? ORIGINAL_SHADE : 2)
 
205
#define MENU_SEP_SHADE    (USE_LIGHTER_POPUP_MENU ? 4 : 3)
 
206
 
 
207
#define BGND_STRIPE_SHADE 0.95
 
208
 
 
209
#define SHADE(c, s) \
195
210
    (c>10 || c<0 || s>=NUM_STD_SHADES || s<0 \
196
211
        ? 1.0 \
197
 
        : opts.darkerBorders && (QT_STD_BORDER==i || QT_DISABLED_BORDER==i) \
 
212
        : opts.darkerBorders && (STD_BORDER==i || DISABLED_BORDER==i) \
198
213
            ? shades[SHADING_SIMPLE==opts.shading ? 1 : 0][c][s] - 0.1 \
199
214
            : shades[SHADING_SIMPLE==opts.shading ? 1 : 0][c][s] )
200
215
 
202
217
 
203
218
#define INVERT_SHADE(A) (1.0+(1.0-(A)))
204
219
 
205
 
#define QTC_ROUNDED (ROUND_NONE!=opts.round)
 
220
#define ROUNDED (ROUND_NONE!=opts.round)
206
221
 
207
 
#define QTC_TOOLBAR_SEP_GAP        (opts.fadeLines ? 5 : 6)
208
 
#define QTC_FADE_SIZE              0.4
209
 
#define QTC_ETCHED_DARK            0.95
 
222
#define TOOLBAR_SEP_GAP        (opts.fadeLines ? 5 : 6)
 
223
#define FADE_SIZE              0.4
 
224
#define ETCHED_DARK            0.95
210
225
 
211
226
#define IS_GLASS(A) (APPEARANCE_DULL_GLASS==(A) || APPEARANCE_SHINY_GLASS==(A))
212
 
#define IS_CUSTOM(A) ((A)>=APPEARANCE_CUSTOM1 && (A)<(APPEARANCE_CUSTOM1+QTC_NUM_CUSTOM_GRAD))
 
227
#define IS_CUSTOM(A) ((A)>=APPEARANCE_CUSTOM1 && (A)<(APPEARANCE_CUSTOM1+NUM_CUSTOM_GRAD))
213
228
#define IS_FLAT(A)  (APPEARANCE_FLAT==(A) || APPEARANCE_RAISED==(A) || APPEARANCE_FADE==(A))
 
229
#define IS_FLAT_BGND(A)  (APPEARANCE_FLAT==(A) || APPEARANCE_RAISED==(A))
214
230
 
215
231
#ifdef __cplusplus
216
232
#define MENUBAR_DARK_LIMIT 160
220
236
#define TOO_DARK(A) ((A).red<MENUBAR_DARK_LIMIT || (A).green<MENUBAR_DARK_LIMIT || (A).blue<MENUBAR_DARK_LIMIT)
221
237
#endif
222
238
 
223
 
#define QTC_TO_FACTOR(A) ((100.0+((double)(A)))/100.0)
 
239
#define TO_FACTOR(A) ((100.0+((double)(A)))/100.0)
224
240
#define DEFAULT_HIGHLIGHT_FACTOR                   3
225
241
#define DEFAULT_SPLITTER_HIGHLIGHT_FACTOR          3
226
242
#define DEFAULT_CR_HIGHLIGHT_FACTOR                3
227
243
#define DEFAULT_EXPANDER_HIGHLIGHT_FACTOR          3
228
244
#define MAX_HIGHLIGHT_FACTOR                      50
229
245
#define MIN_HIGHLIGHT_FACTOR                     -50
230
 
#define MENUBAR_DARK_FACTOR        QTC_TO_FACTOR(-3)
231
 
#define INACTIVE_HIGHLIGHT_FACTOR  QTC_TO_FACTOR(20)
232
 
#define LV_HEADER_DARK_FACTOR     QTC_TO_FACTOR(-10)
 
246
#define MENUBAR_DARK_FACTOR        TO_FACTOR(-3)
 
247
#define INACTIVE_HIGHLIGHT_FACTOR  TO_FACTOR(20)
 
248
#define LV_HEADER_DARK_FACTOR     TO_FACTOR(-10)
233
249
#define DEF_POPUPMENU_LIGHT_FACTOR                 2
234
250
#define MIN_LIGHTER_POPUP_MENU                  -100
235
251
#define MAX_LIGHTER_POPUP_MENU                   100
236
252
 
237
 
#define QTC_TO_ALPHA(A) (((double)(A))/100.0)
 
253
#define TO_ALPHA(A) (((double)(A))/100.0)
238
254
#define DEF_COLOR_SEL_TAB_FACTOR  25
239
255
#define MIN_COLOR_SEL_TAB_FACTOR   0
240
256
#define MAX_COLOR_SEL_TAB_FACTOR 100
289
305
                        WIDGET_COMBO==(w) WIDGET_COMBO_BUTTON==(w))
290
306
#endif
291
307
 
292
 
#define QTC_SLIDER(w) (WIDGET_SB_SLIDER==(w) || WIDGET_SLIDER==(w))
293
 
#define QTC_CIRCULAR_SLIDER(w) (WIDGET_SLIDER==(w) && SLIDER_CIRCULAR==opts.sliderStyle)
 
308
#define SLIDER(w) (WIDGET_SB_SLIDER==(w) || WIDGET_SLIDER==(w))
 
309
#define CIRCULAR_SLIDER(w) (WIDGET_SLIDER==(w) && SLIDER_CIRCULAR==opts.sliderStyle)
294
310
 
295
311
#define MODIFY_AGUA_X(A, X) (APPEARANCE_AGUA==(A) ?  (X) : (A))
296
312
#define MODIFY_AGUA(A)      MODIFY_AGUA_X((A), APPEARANCE_AGUA_MOD)
299
315
 
300
316
#define COLORED_BORDER_SIZE 3
301
317
#define PROGRESS_CHUNK_WIDTH 10
302
 
#define QTC_DRAW_LIGHT_BORDER(SUKEN, WIDGET, APP) \
 
318
#define STRIPE_WIDTH 10
 
319
#define DRAW_LIGHT_BORDER(SUKEN, WIDGET, APP) \
303
320
    (!(SUKEN) && (GB_LIGHT==getGradient(APP, &opts)->border) && WIDGET_MENU_ITEM!=(WIDGET) && !IS_TROUGH(WIDGET) && \
304
321
                          (WIDGET_DEF_BUTTON!=(WIDGET) || IND_COLORED!=opts.defBtnIndicator))
305
322
 
306
 
#define QTC_DRAW_3D_FULL_BORDER(SUNKEN, APP) \
 
323
#define DRAW_3D_FULL_BORDER(SUNKEN, APP) \
307
324
    (!(SUNKEN) && GB_3D_FULL==getGradient((APP), &opts)->border)
308
325
    
309
 
#define QTC_DRAW_3D_BORDER(SUNKEN, APP) \
 
326
#define DRAW_3D_BORDER(SUNKEN, APP) \
310
327
    (!(SUNKEN) && GB_3D==getGradient((APP), &opts)->border)
311
328
 
312
 
#define QTC_DRAW_SHINE(SUNKEN, APP) \
 
329
#define DRAW_SHINE(SUNKEN, APP) \
313
330
    (!(SUNKEN) && GB_SHINE==getGradient((APP), &opts)->border)
314
331
 
315
 
#define QTC_LIGHT_BORDER(APP) (APPEARANCE_DULL_GLASS==(APP) ? 1 : 0)
 
332
#define LIGHT_BORDER(APP) (APPEARANCE_DULL_GLASS==(APP) ? 1 : 0)
316
333
 
317
334
#define PROGRESS_ANIMATION 100
318
335
#define MIN_SLIDER_SIZE(A) (LINE_DOTS==(A) ? 24 : 20)
319
336
 
320
 
#define QTC_CR_SMALL_SIZE 13
321
 
#define QTC_CR_LARGE_SIZE 15
322
 
 
323
 
#define QTC_TAB_APP(A)   (APPEARANCE_BEVELLED==(A) || APPEARANCE_SPLIT_GRADIENT==(A) ? APPEARANCE_GRADIENT : (A))
324
 
#define QTC_NORM_TAB_APP QTC_TAB_APP(opts.tabAppearance)
325
 
#define QTC_SEL_TAB_APP  QTC_TAB_APP(opts.activeTabAppearance)
326
 
 
327
 
#define QTC_SLIDER_MO_SHADE  (SHADE_SELECTED==opts.shadeSliders ? 1 : (SHADE_BLEND_SELECTED==opts.shadeSliders ? 0 : ORIGINAL_SHADE))
328
 
#define QTC_SLIDER_MO_BORDER (SHADE_SELECTED==opts.shadeSliders || SHADE_BLEND_SELECTED==opts.shadeSliders ? 2 : 1)
329
 
#define QTC_SLIDER_MO_LEN    (SLIDER_TRIANGULAR==opts.sliderStyle ? 2 : (SHADE_SELECTED==opts.shadeSliders || SHADE_BLEND_SELECTED==opts.shadeSliders ? 4 : 3))
330
 
#define QTC_SB_SLIDER_MO_LEN(A) ((A)<22 && !QTC_FULLLY_ROUNDED \
 
337
#define CR_SMALL_SIZE 13
 
338
#define CR_LARGE_SIZE 15
 
339
 
 
340
#define TAB_APP(A)   (APPEARANCE_BEVELLED==(A) || APPEARANCE_SPLIT_GRADIENT==(A) ? APPEARANCE_GRADIENT : (A))
 
341
#define NORM_TAB_APP TAB_APP(opts.tabAppearance)
 
342
#define SEL_TAB_APP  TAB_APP(opts.activeTabAppearance)
 
343
 
 
344
#define SLIDER_MO_SHADE  (SHADE_SELECTED==opts.shadeSliders ? 1 : (SHADE_BLEND_SELECTED==opts.shadeSliders ? 0 : ORIGINAL_SHADE))
 
345
#define SLIDER_MO_PLASTIK_BORDER (SHADE_SELECTED==opts.shadeSliders || SHADE_BLEND_SELECTED==opts.shadeSliders ? 2 : 1)
 
346
#define SLIDER_MO_LEN    (SLIDER_TRIANGULAR==opts.sliderStyle ? 2 : (SHADE_SELECTED==opts.shadeSliders || SHADE_BLEND_SELECTED==opts.shadeSliders ? 4 : 3))
 
347
#define SB_SLIDER_MO_LEN(A) ((A)<22 && !FULLLY_ROUNDED \
331
348
                                    ? 2 \
332
349
                                    : ((A)<32 || (SHADE_SELECTED!=opts.shadeSliders && SHADE_BLEND_SELECTED!=opts.shadeSliders) \
333
350
                                        ? 4 \
334
351
                                        : 6))
335
352
 
336
 
#define QTC_CR_MO_FILL          1
337
 
#define QTC_MO_DEF_BTN          2
338
 
#define QTC_MO_PLASTIK_DARK(W)  (WIDGET_DEF_BUTTON==(W) && IND_COLORED==opts.defBtnIndicator ? 3 : 2) /*? 2 : 1) */
339
 
#define QTC_MO_PLASTIK_LIGHT(W) (WIDGET_DEF_BUTTON==(W) && IND_COLORED==opts.defBtnIndicator ? 4 : 1) /*? 2 : 0) */
340
 
 
341
 
#define QTC_MO_STD_DARK(W)     (MO_GLOW==opts.coloredMouseOver \
342
 
                                    ? 1 \
343
 
                                    : QTC_MO_PLASTIK_DARK(W))
344
 
#define QTC_MO_STD_LIGHT(W, S) (MO_GLOW==opts.coloredMouseOver \
345
 
                                    ? 1 \
346
 
                                    : QTC_MO_PLASTIK_LIGHT(W))
347
 
 
348
 
#define QTC_FULLLY_ROUNDED     (opts.round>=ROUND_FULL)
 
353
#define CR_MO_FILL          1
 
354
#define MO_DEF_BTN          2
 
355
#define MO_PLASTIK_DARK(W)  (WIDGET_DEF_BUTTON==(W) && IND_COLORED==opts.defBtnIndicator ? 3 : 2) /*? 2 : 1) */
 
356
#define MO_PLASTIK_LIGHT(W) (WIDGET_DEF_BUTTON==(W) && IND_COLORED==opts.defBtnIndicator ? 4 : 1) /*? 2 : 0) */
 
357
 
 
358
#define MO_STD_DARK(W)     (MO_GLOW==opts.coloredMouseOver \
 
359
                                    ? 1 \
 
360
                                    : MO_PLASTIK_DARK(W))
 
361
#define MO_STD_LIGHT(W, S) (MO_GLOW==opts.coloredMouseOver \
 
362
                                    ? 1 \
 
363
                                    : MO_PLASTIK_LIGHT(W))
 
364
 
 
365
#define FULLLY_ROUNDED     (opts.round>=ROUND_FULL)
349
366
#if !defined __cplusplus || (defined QT_VERSION && (QT_VERSION >= 0x040000))
350
 
#define QTC_DO_EFFECT          (EFFECT_NONE!=opts.buttonEffect)
351
 
#define QTC_SLIDER_GLOW        (QTC_DO_EFFECT && MO_GLOW==opts.coloredMouseOver /*&& SLIDER_TRIANGULAR!=opts.sliderStyle*/ ? 2 : 0)
 
367
#define DO_EFFECT          (EFFECT_NONE!=opts.buttonEffect)
 
368
#define SLIDER_GLOW        (DO_EFFECT && MO_GLOW==opts.coloredMouseOver /*&& SLIDER_TRIANGULAR!=opts.sliderStyle*/ ? 2 : 0)
352
369
#else
353
 
#define QTC_DO_EFFECT          (QTC_FULLLY_ROUNDED && EFFECT_NONE!=opts.buttonEffect)
 
370
#define DO_EFFECT          (FULLLY_ROUNDED && EFFECT_NONE!=opts.buttonEffect)
354
371
#endif
355
372
 
356
 
#define QTC_ENTRY_MO (opts.unifyCombo && opts.unifySpin)
 
373
#define ENTRY_MO (opts.unifyCombo && opts.unifySpin)
357
374
 
358
375
#if !defined __cplusplus || (defined QT_VERSION && (QT_VERSION >= 0x040000))
359
 
#define QTC_FOCUS_ALPHA              0.08
360
 
#define QTC_BORDER_BLEND_ALPHA       0.7
361
 
#define QTC_ETCH_TOP_ALPHA           0.055
362
 
#define QTC_ETCH_BOTTOM_ALPHA        0.80
 
376
#define FOCUS_ALPHA              0.08
 
377
#define BORDER_BLEND_ALPHA       0.7
 
378
#define ETCH_TOP_ALPHA           0.055
 
379
#define ETCH_BOTTOM_ALPHA        0.80
363
380
// #if defined QT_VERSION && (QT_VERSION >= 0x040000)
364
 
// #define QTC_ETCH_RADIO_TOP_ALPHA     0.055
365
 
// #define QTC_ETCH_RADIO_BOTTOM_ALPHA  0.80
 
381
// #define ETCH_RADIO_TOP_ALPHA     0.055
 
382
// #define ETCH_RADIO_BOTTOM_ALPHA  0.80
366
383
// #else
367
 
#define QTC_ETCH_RADIO_TOP_ALPHA     0.09
368
 
#define QTC_ETCH_RADIO_BOTTOM_ALPHA  1.0
 
384
#define ETCH_RADIO_TOP_ALPHA     0.09
 
385
#define ETCH_RADIO_BOTTOM_ALPHA  1.0
369
386
// #endif
370
387
 
371
 
#define QTC_RINGS_INNER_ALPHA(T) qtcRingAlpha[IMG_PLAIN_RINGS==T] //(IMG_PLAIN_RINGS==opts.bgndImage.type ? 0.25 :  0.125)
372
 
#define QTC_RINGS_OUTER_ALPHA    qtcRingAlpha[2] //0.5
373
 
#define QTC_RINGS_WIDTH(T)       (IMG_SQUARE_RINGS==T ? 260 : 450)
374
 
#define QTC_RINGS_HEIGHT(T)      (IMG_SQUARE_RINGS==T ? 220 : 360)
375
 
 
376
 
#define QTC_RINGS_SQUARE_LARGE_ALPHA (QTC_RINGS_OUTER_ALPHA*0.675)
377
 
#define QTC_RINGS_SQUARE_SMALL_ALPHA (QTC_RINGS_OUTER_ALPHA*0.50)
378
 
#define QTC_RINGS_SQUARE_LINE_WIDTH  20.0
379
 
#define QTC_RINGS_SQUARE_RADIUS      18.0
380
 
#define QTC_RINGS_SQUARE_LARGE_SIZE  120.0
381
 
#define QTC_RINGS_SQUARE_SMALL_SIZE  100.0
382
 
 
383
 
#define QTC_CUSTOM_BGND (!(IS_FLAT(opts.bgndAppearance)) || IMG_NONE!=opts.bgndImage.type)
384
 
 
385
 
#define QTC_GLOW_PROG_ALPHA 0.55
 
388
#define RINGS_INNER_ALPHA(T) qtcRingAlpha[IMG_PLAIN_RINGS==T] //(IMG_PLAIN_RINGS==opts.bgndImage.type ? 0.25 :  0.125)
 
389
#define RINGS_OUTER_ALPHA    qtcRingAlpha[2] //0.5
 
390
#define RINGS_WIDTH(T)       (IMG_SQUARE_RINGS==T ? 260 : 450)
 
391
#define RINGS_HEIGHT(T)      (IMG_SQUARE_RINGS==T ? 220 : 360)
 
392
 
 
393
#define RINGS_SQUARE_LARGE_ALPHA (RINGS_OUTER_ALPHA*0.675)
 
394
#define RINGS_SQUARE_SMALL_ALPHA (RINGS_OUTER_ALPHA*0.50)
 
395
#define RINGS_SQUARE_LINE_WIDTH  20.0
 
396
#define RINGS_SQUARE_RADIUS      18.0
 
397
#define RINGS_SQUARE_LARGE_SIZE  120.0
 
398
#define RINGS_SQUARE_SMALL_SIZE  100.0
 
399
 
 
400
#define CUSTOM_BGND (!(IS_FLAT_BGND(opts.bgndAppearance)) || IMG_NONE!=opts.bgndImage.type)
 
401
 
 
402
#define GLOW_PROG_ALPHA 0.55
386
403
 
387
404
#endif
388
405
 
399
416
    QtC_TitleBarIcon,
400
417
    QtC_TitleBarIconColor,
401
418
    QtC_TitleBarBorder,
402
 
    QtC_TitleBarEffect
 
419
    QtC_TitleBarEffect,
 
420
    QtC_BlendMenuAndTitleBar,
 
421
    QtC_ShadeMenubarOnlyWhenActive,
 
422
    QtC_ToggleButtons
403
423
} QtCMetrics;
404
424
 
405
425
#define QtC_StateKWin            ((QStyle::StateFlag)0x10000000)
409
429
#define QtC_StateKWinTabDrag     ((QStyle::StateFlag)0x00000001)
410
430
 
411
431
#define CLOSE_COLOR              QColor(191, 82, 82)
412
 
#define QTC_DARK_WINDOW_TEXT(A)  ((A).red()<230 || (A).green()<230 || (A).blue()<230)
413
 
#define HOVER_BUTTON_ALPHA(A)    (QTC_DARK_WINDOW_TEXT(A) ? 0.25 : 0.65)
 
432
#define DARK_WINDOW_TEXT(A)  ((A).red()<230 || (A).green()<230 || (A).blue()<230)
 
433
#define HOVER_BUTTON_ALPHA(A)    (DARK_WINDOW_TEXT(A) ? 0.25 : 0.65)
414
434
#define WINDOW_TEXT_SHADOW_ALPHA(A) (EFFECT_SHADOW==(A) ? 0.10 : 0.60)
415
435
#define WINDOW_SHADOW_COLOR(A)      (EFFECT_SHADOW==(A) ? Qt::black : Qt::white)
416
436
#endif
417
437
 
418
 
#if defined QTC_CONFIG_DIALOG || (defined QT_VERSION && (QT_VERSION >= 0x040000))
 
438
#if defined CONFIG_DIALOG || (defined QT_VERSION && (QT_VERSION >= 0x040000))
419
439
#define QTCURVE_PREVIEW_CONFIG "QTCURVE_PREVIEW_CONFIG"
420
440
 
421
441
typedef enum
422
442
{
423
 
    QTC_DWT_BUTTONS_AS_PER_TITLEBAR    = 0x0001,
424
 
    QTC_DWT_COLOR_AS_PER_TITLEBAR      = 0x0002,
425
 
    QTC_DWT_FONT_AS_PER_TITLEBAR       = 0x0004,
426
 
    QTC_DWT_TEXT_ALIGN_AS_PER_TITLEBAR = 0x0008,
427
 
    QTC_DWT_EFFECT_AS_PER_TITLEBAR     = 0x0010,
428
 
    QTC_DWT_ROUND_TOP_ONLY             = 0x0020
 
443
    DWT_BUTTONS_AS_PER_TITLEBAR    = 0x0001,
 
444
    DWT_COLOR_AS_PER_TITLEBAR      = 0x0002,
 
445
    DWT_FONT_AS_PER_TITLEBAR       = 0x0004,
 
446
    DWT_TEXT_ALIGN_AS_PER_TITLEBAR = 0x0008,
 
447
    DWT_EFFECT_AS_PER_TITLEBAR     = 0x0010,
 
448
    DWT_ROUND_TOP_ONLY             = 0x0020
429
449
} EDwtSettingsFlags;
430
450
 
431
451
typedef enum
432
452
{
433
 
    QTC_TITLEBAR_BUTTON_ROUND             = 0x0001,
434
 
    QTC_TITLEBAR_BUTTON_HOVER_FRAME       = 0x0002,
435
 
    QTC_TITLEBAR_BUTTON_HOVER_SYMBOL      = 0x0004,
436
 
    QTC_TITLEBAR_BUTTON_NO_FRAME          = 0x0008,
437
 
    QTC_TITLEBAR_BUTTON_COLOR             = 0x0010,
438
 
    QTC_TITLEBAR_BUTTON_COLOR_INACTIVE    = 0x0020,
439
 
    QTC_TITLEBAR_BUTTON_COLOR_MOUSE_OVER  = 0x0040,
440
 
    QTC_TITLEBAR_BUTTON_STD_COLOR         = 0x0080,
441
 
    QTC_TITLEBAR_BUTTON_COLOR_SYMBOL      = 0x0100,
442
 
    QTC_TITLEBAR_BUTTON_HOVER_SYMBOL_FULL = 0x0200
 
453
    TITLEBAR_BUTTON_ROUND             = 0x0001,
 
454
    TITLEBAR_BUTTON_HOVER_FRAME       = 0x0002,
 
455
    TITLEBAR_BUTTON_HOVER_SYMBOL      = 0x0004,
 
456
    TITLEBAR_BUTTON_NO_FRAME          = 0x0008,
 
457
    TITLEBAR_BUTTON_COLOR             = 0x0010,
 
458
    TITLEBAR_BUTTON_COLOR_INACTIVE    = 0x0020,
 
459
    TITLEBAR_BUTTON_COLOR_MOUSE_OVER  = 0x0040,
 
460
    TITLEBAR_BUTTON_STD_COLOR         = 0x0080,
 
461
    TITLEBAR_BUTTON_COLOR_SYMBOL      = 0x0100,
 
462
    TITLEBAR_BUTTON_HOVER_SYMBOL_FULL = 0x0200,
 
463
    TITLEBAR_BUTTON_SUNKEN_BACKGROUND = 0x0400,
 
464
    TITLEBAR_BUTTOM_ARROW_MIN_MAX     = 0x0800
443
465
} ETitleBarButtonFlags;
444
466
 
445
467
typedef enum
463
485
    NUM_TITLEBAR_BUTTONS
464
486
} ETitleBarButtons;
465
487
 
466
 
#define QTC_TBAR_VERSION_HACK 65535
 
488
#define TBAR_VERSION_HACK 65535
467
489
 
468
490
typedef std::map<ETitleBarButtons, QColor> TBCols;
469
491
#endif
493
515
 
494
516
typedef enum
495
517
{
 
518
    SQUARE_NONE               = 0x0,
 
519
    SQUARE_ENTRY              = 0x01,
 
520
    SQUARE_PROGRESS           = 0x02,
 
521
    SQUARE_SCROLLVIEW         = 0x04,
 
522
    SQUARE_LISTVIEW_SELECTION = 0x08,
 
523
    SQUARE_FRAME              = 0x10,
 
524
    SQUARE_TAB_FRAME          = 0x20
 
525
} ESquare;
 
526
 
 
527
typedef enum
 
528
{
496
529
    EFFECT_NONE,
497
530
    EFFECT_ETCH,
498
531
    EFFECT_SHADOW
591
624
    APPEARANCE_CUSTOM21,
592
625
    APPEARANCE_CUSTOM22,
593
626
 
594
 
        QTC_NUM_CUSTOM_GRAD,
 
627
        NUM_CUSTOM_GRAD,
595
628
 
596
 
    APPEARANCE_FLAT = QTC_NUM_CUSTOM_GRAD,
 
629
    APPEARANCE_FLAT = NUM_CUSTOM_GRAD,
597
630
    APPEARANCE_RAISED,
598
631
    APPEARANCE_DULL_GLASS,
599
632
    APPEARANCE_SHINY_GLASS,
606
639
    APPEARANCE_SPLIT_GRADIENT,
607
640
    APPEARANCE_BEVELLED,
608
641
        APPEARANCE_FADE, /* Only for poupmenu items! */
 
642
        APPEARANCE_STRIPED = APPEARANCE_FADE, /* Only for windows  and menus */
609
643
        APPEARANCE_LV_BEVELLED, /* To be used only with getGradient */
610
644
        APPEARANCE_AGUA_MOD,
611
645
        APPEARANCE_LV_AGUA,
612
 
    QTC_NUM_STD_APP = (APPEARANCE_LV_AGUA-QTC_NUM_CUSTOM_GRAD)+1
 
646
    NUM_STD_APP = (APPEARANCE_LV_AGUA-NUM_CUSTOM_GRAD)+1
613
647
} EAppearance;
614
648
 
615
649
#define IS_SLIDER(W)        (WIDGET_SLIDER==(W) || WIDGET_SB_SLIDER==(W))
626
660
    CORNER_BL = 0x8
627
661
} ECornerBits;
628
662
 
629
 
#define ROUNDED_NONE            0x0
630
 
#define ROUNDED_TOP             (CORNER_TL|CORNER_TR)
631
 
#define ROUNDED_BOTTOM          (CORNER_BL|CORNER_BR)
632
 
#define ROUNDED_LEFT            (CORNER_TL|CORNER_BL)
633
 
#define ROUNDED_RIGHT           (CORNER_TR|CORNER_BR)
634
 
#define ROUNDED_TOPRIGHT        CORNER_TR
635
 
#define ROUNDED_BOTTOMRIGHT     CORNER_BR
636
 
#define ROUNDED_TOPLEFT         CORNER_TL
637
 
#define ROUNDED_BOTTOMLEFT      CORNER_BL
638
 
#define ROUNDED_ALL             (CORNER_TL|CORNER_TR|CORNER_BR|CORNER_BL)
 
663
#define ROUNDED_NONE        0x0
 
664
#define ROUNDED_TOP         (CORNER_TL|CORNER_TR)
 
665
#define ROUNDED_BOTTOM      (CORNER_BL|CORNER_BR)
 
666
#define ROUNDED_LEFT        (CORNER_TL|CORNER_BL)
 
667
#define ROUNDED_RIGHT       (CORNER_TR|CORNER_BR)
 
668
#define ROUNDED_TOPRIGHT    CORNER_TR
 
669
#define ROUNDED_BOTTOMRIGHT CORNER_BR
 
670
#define ROUNDED_TOPLEFT     CORNER_TL
 
671
#define ROUNDED_BOTTOMLEFT  CORNER_BL
 
672
#define ROUNDED_ALL         (CORNER_TL|CORNER_TR|CORNER_BR|CORNER_BL)
639
673
 
640
674
typedef enum
641
675
{
743
777
    SLIDER_CIRCULAR
744
778
} ESliderStyle;
745
779
 
746
 
#define QTC_ROTATED_SLIDER (SLIDER_PLAIN_ROTATED==opts.sliderStyle || SLIDER_ROUND_ROTATED==opts.sliderStyle)
 
780
#define ROTATED_SLIDER (SLIDER_PLAIN_ROTATED==opts.sliderStyle || SLIDER_ROUND_ROTATED==opts.sliderStyle)
747
781
 
748
782
typedef enum
749
783
{
775
809
    GLOW_END
776
810
} EGlow;
777
811
 
778
 
#define QTC_FULL_FOCUS     (FOCUS_FULL==opts.focus  || FOCUS_FILLED==opts.focus)
 
812
#define FULL_FOCUS     (FOCUS_FULL==opts.focus  || FOCUS_FILLED==opts.focus)
 
813
 
 
814
enum
 
815
{
 
816
    HIDE_NONE     = 0x00,
 
817
    HIDE_KEYBOARD = 0x01,
 
818
    HIDE_KWIN     = 0x02
 
819
};
779
820
 
780
821
#if defined __cplusplus
781
822
typedef enum
869
910
#ifdef __cplusplus
870
911
    Gradient() : border(GB_3D) { }
871
912
 
872
 
#ifdef QTC_CONFIG_DIALOG
 
913
#ifdef CONFIG_DIALOG
873
914
    bool operator==(const Gradient &o) const
874
915
    {
875
916
        return border==o.border && stops==o.stops;
889
930
#endif
890
931
;
891
932
 
892
 
#define QTC_USE_CUSTOM_SHADES(A) ((A).customShades[0]>0.00001)
 
933
#define USE_CUSTOM_SHADES(A) ((A).customShades[0]>0.00001)
893
934
 
894
935
#ifdef __cplusplus
895
936
typedef std::map<EAppearance, Gradient> GradientCont;
932
973
                     toolbarTabs,
933
974
#ifdef __cplusplus
934
975
                     gtkComboMenus,
935
 
                     colorTitlebarOnly,
936
976
/*
937
977
#else
938
978
                     setDialogButtonOrder,
939
979
*/
940
980
#endif
941
981
                     mapKdeIcons,
942
 
#if defined QTC_CONFIG_DIALOG || (defined QT_VERSION && (QT_VERSION >= 0x040000)) || !defined __cplusplus
 
982
#if defined CONFIG_DIALOG || (defined QT_VERSION && (QT_VERSION >= 0x040000)) || !defined __cplusplus
943
983
                     gtkButtonOrder,
944
984
                     fadeLines,
945
985
#endif
955
995
                     smallRadio,
956
996
                     fillProgress,
957
997
                     comboSplitter,
958
 
                     squareScrollViews,
959
998
                     highlightScrollViews,
960
999
                     sunkenScrollViews,
961
1000
                     etchEntry,
972
1011
                     borderInactiveTab,
973
1012
                     doubleGtkComboArrow,
974
1013
                     menuIcons,
975
 
#if defined QTC_CONFIG_DIALOG || (defined QT_VERSION && (QT_VERSION >= 0x040000))
 
1014
#if defined CONFIG_DIALOG || (defined QT_VERSION && (QT_VERSION >= 0x040000))
976
1015
                     stdBtnSizes,
 
1016
#endif
 
1017
                     colorTitlebarOnly,
977
1018
                     titlebarBorder,
978
1019
                     titlebarBlend,
979
 
#endif
980
1020
#if defined QT_VERSION && (QT_VERSION >= 0x040000)
981
1021
                     xbar,
982
1022
#endif
983
1023
                     forceAlternateLvCols,
984
 
                     squareLvSelection,
985
1024
                     invertBotTab,
986
 
                     menubarHiding,
987
 
                     statusbarHiding,
988
1025
                     boldProgress,
989
1026
                     coloredTbarMo,
990
1027
                     borderSelection,
991
 
                     squareProgress,
992
 
                     squareEntry,
993
1028
                     stripedSbar,
994
1029
                     windowDrag;
995
1030
    EGlow            glowProgress;
996
1031
    ELvLines         lvLines;
997
1032
    EGradType        bgndGrad,
998
1033
                     menuBgndGrad;
 
1034
    int              menubarHiding,
 
1035
                     statusbarHiding;
 
1036
    int              square;
999
1037
#if defined QT_VERSION && (QT_VERSION >= 0x040000)
1000
1038
    int              dwtSettings;
1001
1039
#endif
1002
 
#if defined QTC_CONFIG_DIALOG || (defined QT_VERSION && (QT_VERSION >= 0x040000))
 
1040
#if defined CONFIG_DIALOG || (defined QT_VERSION && (QT_VERSION >= 0x040000))
1003
1041
    int              titlebarButtons;
1004
1042
    TBCols           titlebarButtonColors;
1005
1043
    ETitleBarIcon    titlebarIcon;
1025
1063
                     tabAppearance,
1026
1064
                     activeTabAppearance,
1027
1065
                     sliderAppearance,
1028
 
#ifdef __cplusplus
1029
1066
                     titlebarAppearance,
1030
1067
                     inactiveTitlebarAppearance,
 
1068
#ifdef __cplusplus
1031
1069
                     titlebarButtonAppearance,
1032
1070
                     dwtAppearance,
1033
1071
#endif
1069
1107
#ifdef __cplusplus
1070
1108
    GradientCont     customGradient;
1071
1109
#else
1072
 
    Gradient         *customGradient[QTC_NUM_CUSTOM_GRAD];
 
1110
    Gradient         *customGradient[NUM_CUSTOM_GRAD];
1073
1111
#endif
1074
1112
    QtCImage         bgndImage,
1075
1113
                     menuBgndImage;
1092
1130
};
1093
1131
#endif
1094
1132
 
1095
 
#ifdef QTC_COMMON_FUNCTIONS
1096
 
 
1097
 
#define QTC_MIN(a, b) ((a) < (b) ? (a) : (b))
1098
 
#define QTC_MAX(a, b) ((b) < (a) ? (a) : (b))
1099
 
 
 
1133
#ifdef COMMON_FUNCTIONS
 
1134
 
 
1135
#ifndef MIN
 
1136
#define MIN(a, b) ((a) < (b) ? (a) : (b))
 
1137
#endif
 
1138
#ifndef MAX
 
1139
#define MAX(a, b) ((b) < (a) ? (a) : (b))
 
1140
#endif
1100
1141
 
1101
1142
/* Taken from rgb->hsl routines taken from KColor
1102
1143
    Copyright 2007 Matthew Woehlke <mw_triad@users.sourceforge.net>
1132
1173
 
1133
1174
static inline void rgbToHsl(double r, double g, double b, double *h, double *s, double *l)
1134
1175
{
1135
 
    double min=QTC_MIN(QTC_MIN(r, g), b),
1136
 
           max=QTC_MAX(QTC_MAX(r, g), b);
 
1176
    double min=MIN(MIN(r, g), b),
 
1177
           max=MAX(MAX(r, g), b);
1137
1178
 
1138
1179
    *l = 0.5 * (max + min);
1139
1180
    *s = 0.0;
1181
1222
 
1182
1223
static void rgbToHsv(double r, double g, double b, double *h, double *s, double *v)
1183
1224
{
1184
 
    double min=QTC_MIN(QTC_MIN(r, g), b),
1185
 
           max=QTC_MAX(QTC_MAX(r, g), b),
 
1225
    double min=MIN(MIN(r, g), b),
 
1226
           max=MAX(MAX(r, g), b),
1186
1227
           delta=max - min;
1187
1228
 
1188
1229
    *v=max;
1384
1425
            }
1385
1426
            case SHADING_HCY:
1386
1427
            {
1387
 
    #define QTC_HCY_FACTOR 0.15
 
1428
    #define HCY_FACTOR 0.15
1388
1429
    #if defined QT_VERSION && (QT_VERSION >= 0x040000) && !defined QTC_QT_ONLY
1389
1430
                if(k>1.0)
1390
 
                    *cb=KColorUtils::lighten(ca, (k*(1+QTC_HCY_FACTOR))-1.0, 1.0);
 
1431
                    *cb=KColorUtils::lighten(ca, (k*(1+HCY_FACTOR))-1.0, 1.0);
1391
1432
                else
1392
 
                    *cb=KColorUtils::darken(ca, 1.0-(k*(1-QTC_HCY_FACTOR)), 1.0);
 
1433
                    *cb=KColorUtils::darken(ca, 1.0-(k*(1-HCY_FACTOR)), 1.0);
1393
1434
    #elif defined __cplusplus
1394
1435
                if(k>1.0)
1395
 
                    *cb=ColorUtils_lighten(&ca, (k*(1+QTC_HCY_FACTOR))-1.0, 1.0);
 
1436
                    *cb=ColorUtils_lighten(&ca, (k*(1+HCY_FACTOR))-1.0, 1.0);
1396
1437
                else
1397
 
                    *cb=ColorUtils_darken(&ca, 1.0-(k*(1-QTC_HCY_FACTOR)), 1.0);
 
1438
                    *cb=ColorUtils_darken(&ca, 1.0-(k*(1-HCY_FACTOR)), 1.0);
1398
1439
    #else
1399
1440
                if(k>1.0)
1400
 
                    *cb=ColorUtils_lighten(ca, (k*(1+QTC_HCY_FACTOR))-1.0, 1.0);
 
1441
                    *cb=ColorUtils_lighten(ca, (k*(1+HCY_FACTOR))-1.0, 1.0);
1401
1442
                else
1402
 
                    *cb=ColorUtils_darken(ca, 1.0-(k*(1-QTC_HCY_FACTOR)), 1.0);
 
1443
                    *cb=ColorUtils_darken(ca, 1.0-(k*(1-HCY_FACTOR)), 1.0);
1403
1444
    #endif
1404
1445
            }
1405
1446
        }
1411
1452
#endif
1412
1453
}
1413
1454
 
1414
 
#if (!defined QTC_CONFIG_DIALOG)
 
1455
#if (!defined CONFIG_DIALOG)
1415
1456
static unsigned char checkBounds(int num)
1416
1457
{
1417
1458
    return num < 0   ? 0   :
1506
1547
    }
1507
1548
 
1508
1549
    {
1509
 
    static Gradient stdGradients[QTC_NUM_STD_APP];
 
1550
    static Gradient stdGradients[NUM_STD_APP];
1510
1551
    static bool     init=false;
1511
1552
 
1512
1553
    if(!init)
1537
1578
 
1538
1579
#endif
1539
1580
 
1540
 
#if defined QTC_COMMON_FUNCTIONS && !defined QTC_CONFIG_DIALOG
 
1581
#if defined COMMON_FUNCTIONS && !defined CONFIG_DIALOG
1541
1582
 
1542
1583
#ifdef __cplusplus
1543
1584
static EAppearance widgetApp(EWidget w, const Options *opts, bool active=true)
1598
1639
    return opts->appearance;
1599
1640
};
1600
1641
 
1601
 
#define QTC_MIN_ROUND_FULL_SIZE     8
 
1642
#define MIN_ROUND_FULL_SIZE     8
1602
1643
#ifdef __cplusplus
1603
 
#define QTC_MIN_ROUND_EXTRA_SIZE(W) (WIDGET_SPIN==(W) ? 7 : 14)
 
1644
#define MIN_ROUND_EXTRA_SIZE(W) (WIDGET_SPIN==(W) ? 7 : 14)
1604
1645
#else
1605
 
#define QTC_MIN_ROUND_EXTRA_SIZE(W) (WIDGET_SPIN_UP==(W) || WIDGET_SPIN_DOWN==(W) || WIDGET_SPIN==(W) ? 7 : 14)
 
1646
#define MIN_ROUND_EXTRA_SIZE(W) (WIDGET_SPIN_UP==(W) || WIDGET_SPIN_DOWN==(W) || WIDGET_SPIN==(W) ? 7 : 14)
1606
1647
#endif
1607
 
#define QTC_MIN_ROUND_MAX_HEIGHT    12
1608
 
#define QTC_MIN_ROUND_MAX_WIDTH     24
 
1648
#define MIN_ROUND_MAX_HEIGHT    12
 
1649
#define MIN_ROUND_MAX_WIDTH     24
1609
1650
 
1610
1651
#if !defined __cplusplus || (defined QT_VERSION && (QT_VERSION >= 0x040000))
1611
1652
 
1612
1653
#if defined __cplusplus
1613
 
#define QTC_EXTRA_INNER_RADIUS   3.5
1614
 
#define QTC_EXTRA_OUTER_RADIUS   4.5
1615
 
#define QTC_EXTRA_ETCH_RADIUS    5.5
1616
 
#define QTC_FULL_INNER_RADIUS    1.5
1617
 
#define QTC_FULL_OUTER_RADIUS    2.5
1618
 
#define QTC_FULL_ETCH_RADIUS     3.5
 
1654
#define EXTRA_INNER_RADIUS   3.5
 
1655
#define EXTRA_OUTER_RADIUS   4.5
 
1656
#define EXTRA_ETCH_RADIUS    5.5
 
1657
#define FULL_INNER_RADIUS    1.5
 
1658
#define FULL_OUTER_RADIUS    2.5
 
1659
#define FULL_ETCH_RADIUS     3.5
1619
1660
 
1620
1661
#if defined QT_VERSION && (QT_VERSION < 0x040600)
1621
 
#define QTC_SLIGHT_INNER_RADIUS  0.5
1622
 
#define QTC_SLIGHT_OUTER_RADIUS  1.5
1623
 
#define QTC_SLIGHT_ETCH_RADIUS   2.5
1624
 
#else
1625
 
#define QTC_SLIGHT_INNER_RADIUS  0.75
1626
 
#define QTC_SLIGHT_OUTER_RADIUS  1.75
1627
 
#define QTC_SLIGHT_ETCH_RADIUS   2.75
1628
 
#endif
1629
 
 
1630
 
#else
1631
 
#define QTC_EXTRA_INNER_RADIUS   4
1632
 
#define QTC_EXTRA_OUTER_RADIUS   5
1633
 
#define QTC_EXTRA_ETCH_RADIUS    6
1634
 
#define QTC_FULL_INNER_RADIUS    2
1635
 
#define QTC_FULL_OUTER_RADIUS    3
1636
 
#define QTC_FULL_ETCH_RADIUS     4
1637
 
#define QTC_SLIGHT_INNER_RADIUS  1
1638
 
#define QTC_SLIGHT_OUTER_RADIUS  2
1639
 
#define QTC_SLIGHT_ETCH_RADIUS   3
1640
 
#endif
1641
 
 
1642
 
#define QTC_MAX_RADIUS_INTERNAL 9.0
1643
 
#define QTC_MAX_RADIUS_EXTERNAL (QTC_MAX_RADIUS_INTERNAL+2.0)
 
1662
#define SLIGHT_INNER_RADIUS  0.5
 
1663
#define SLIGHT_OUTER_RADIUS  1.5
 
1664
#define SLIGHT_ETCH_RADIUS   2.5
 
1665
#else
 
1666
#define SLIGHT_INNER_RADIUS  0.75
 
1667
#define SLIGHT_OUTER_RADIUS  1.75
 
1668
#define SLIGHT_ETCH_RADIUS   2.75
 
1669
#endif
 
1670
 
 
1671
#else
 
1672
#define EXTRA_INNER_RADIUS   4
 
1673
#define EXTRA_OUTER_RADIUS   5
 
1674
#define EXTRA_ETCH_RADIUS    6
 
1675
#define FULL_INNER_RADIUS    2
 
1676
#define FULL_OUTER_RADIUS    3
 
1677
#define FULL_ETCH_RADIUS     4
 
1678
#define SLIGHT_INNER_RADIUS  1
 
1679
#define SLIGHT_OUTER_RADIUS  2
 
1680
#define SLIGHT_ETCH_RADIUS   3
 
1681
#endif
 
1682
 
 
1683
#define MAX_RADIUS_INTERNAL 9.0
 
1684
#define MAX_RADIUS_EXTERNAL (MAX_RADIUS_INTERNAL+2.0)
1644
1685
 
1645
1686
typedef enum
1646
1687
{
1651
1692
} ERadius;
1652
1693
 
1653
1694
#ifdef __cplusplus
1654
 
#define QTC_IS_MAX_ROUND_WIDGET(A) \
 
1695
#define IS_MAX_ROUND_WIDGET(A) \
1655
1696
            (WIDGET_STD_BUTTON==A || WIDGET_DEF_BUTTON==A /*|| WIDGET_MENU_BUTTON==A*/)
1656
 
#define QTC_IS_EXTRA_ROUND_WIDGET(A) \
 
1697
#define IS_EXTRA_ROUND_WIDGET(A) \
1657
1698
            (A!=WIDGET_MENU_ITEM && A!=WIDGET_TAB_FRAME && A!=WIDGET_PBAR_TROUGH && A!=WIDGET_PROGRESSBAR && \
1658
1699
             A!=WIDGET_MDI_WINDOW && A!=WIDGET_MDI_WINDOW_TITLE)
1659
1700
#else
1660
 
#define QTC_IS_MAX_ROUND_WIDGET(A) \
 
1701
#define IS_MAX_ROUND_WIDGET(A) \
1661
1702
            (WIDGET_STD_BUTTON==A || WIDGET_DEF_BUTTON==A || WIDGET_TOGGLE_BUTTON==A /*|| WIDGET_MENU_BUTTON==A*/)
1662
 
#define QTC_IS_EXTRA_ROUND_WIDGET(A) \
 
1703
#define IS_EXTRA_ROUND_WIDGET(A) \
1663
1704
            (A!=WIDGET_MENU_ITEM && A!=WIDGET_TAB_FRAME && A!=WIDGET_PBAR_TROUGH && A!=WIDGET_PROGRESSBAR)
1664
1705
#endif
1665
1706
 
1666
 
#define QTC_CAN_EXTRA_ROUND(MOD) \
1667
 
            (QTC_IS_EXTRA_ROUND_WIDGET(widget) && \
 
1707
#define CAN_EXTRA_ROUND(MOD) \
 
1708
            (IS_EXTRA_ROUND_WIDGET(widget) && \
1668
1709
            (IS_SLIDER(widget) || WIDGET_TROUGH==widget || \
1669
 
            ( ( (w>(QTC_MIN_ROUND_EXTRA_SIZE(widget)+MOD)) || (WIDGET_NO_ETCH_BTN==widget || WIDGET_MENU_BUTTON==widget) ) &&\
1670
 
                                             (h>(QTC_MIN_ROUND_EXTRA_SIZE(widget)+MOD)))))
1671
 
#define QTC_CAN_FULL_ROUND(MOD) (w>(QTC_MIN_ROUND_FULL_SIZE+MOD) && h>(QTC_MIN_ROUND_FULL_SIZE+MOD))
 
1710
            ( ( (w>(MIN_ROUND_EXTRA_SIZE(widget)+MOD)) || (WIDGET_NO_ETCH_BTN==widget || WIDGET_MENU_BUTTON==widget) ) &&\
 
1711
                                             (h>(MIN_ROUND_EXTRA_SIZE(widget)+MOD)))))
 
1712
#define CAN_FULL_ROUND(MOD) (w>(MIN_ROUND_FULL_SIZE+MOD) && h>(MIN_ROUND_FULL_SIZE+MOD))
1672
1713
 
1673
1714
// **NOTE** MUST KEEP IN SYNC WITH getRadius/RADIUS_ETCH !!!
1674
1715
ERound getWidgetRound(const Options *opts, int w, int h, EWidget widget)
1675
1716
{
1676
1717
    ERound r=opts->round;
1677
1718
 
1678
 
    if( ((WIDGET_PBAR_TROUGH==widget || WIDGET_PROGRESSBAR==widget) && opts->squareProgress) ||
1679
 
        (WIDGET_ENTRY==widget && opts->squareEntry) )
 
1719
    if( ((WIDGET_PBAR_TROUGH==widget || WIDGET_PROGRESSBAR==widget) && (opts->square&SQUARE_PROGRESS)) ||
 
1720
        (WIDGET_ENTRY==widget && (opts->square&SQUARE_ENTRY)) )
1680
1721
        return ROUND_NONE;
1681
1722
 
1682
1723
    if((WIDGET_CHECKBOX==widget || WIDGET_FOCUS==widget) && ROUND_NONE!=r)
1683
1724
        r=ROUND_SLIGHT;
1684
1725
 
1685
1726
#if defined __cplusplus && (defined QT_VERSION && (QT_VERSION >= 0x040000))
1686
 
    if((WIDGET_MDI_WINDOW_BUTTON==widget && (opts->titlebarButtons&QTC_TITLEBAR_BUTTON_ROUND)) ||
 
1727
    if((WIDGET_MDI_WINDOW_BUTTON==widget && (opts->titlebarButtons&TITLEBAR_BUTTON_ROUND)) ||
1687
1728
       WIDGET_RADIO_BUTTON==widget || WIDGET_DIAL==widget)
1688
1729
       return ROUND_MAX;
1689
1730
#endif
1702
1743
    {
1703
1744
        case ROUND_MAX:
1704
1745
            if(IS_SLIDER(widget) || WIDGET_TROUGH==widget ||
1705
 
               (w>(QTC_MIN_ROUND_MAX_WIDTH+2) && h>(QTC_MIN_ROUND_MAX_HEIGHT+2) && QTC_IS_MAX_ROUND_WIDGET(widget)))
 
1746
               (w>(MIN_ROUND_MAX_WIDTH+2) && h>(MIN_ROUND_MAX_HEIGHT+2) && IS_MAX_ROUND_WIDGET(widget)))
1706
1747
                return ROUND_MAX;
1707
1748
        case ROUND_EXTRA:
1708
 
            if(QTC_CAN_EXTRA_ROUND(2))
 
1749
            if(CAN_EXTRA_ROUND(2))
1709
1750
                return ROUND_EXTRA;
1710
1751
        case ROUND_FULL:
1711
 
            if(QTC_CAN_FULL_ROUND(2))
 
1752
            if(CAN_FULL_ROUND(2))
1712
1753
                return ROUND_FULL;
1713
1754
        case ROUND_SLIGHT:
1714
1755
            return ROUND_SLIGHT;
1726
1767
    if((WIDGET_CHECKBOX==widget || WIDGET_FOCUS==widget) && ROUND_NONE!=r)
1727
1768
        r=ROUND_SLIGHT;
1728
1769
 
1729
 
    if( ((WIDGET_PBAR_TROUGH==widget || WIDGET_PROGRESSBAR==widget) && opts->squareProgress) ||
1730
 
        (WIDGET_ENTRY==widget && opts->squareEntry) )
 
1770
    if( ((WIDGET_PBAR_TROUGH==widget || WIDGET_PROGRESSBAR==widget) && (opts->square&SQUARE_PROGRESS)) ||
 
1771
        (WIDGET_ENTRY==widget && (opts->square&SQUARE_ENTRY)) )
1731
1772
        return 0.0;
1732
1773
 
1733
1774
#if defined __cplusplus && (defined QT_VERSION && (QT_VERSION >= 0x040000))
1734
 
    if((WIDGET_MDI_WINDOW_BUTTON==widget && (opts->titlebarButtons&QTC_TITLEBAR_BUTTON_ROUND)) ||
 
1775
    if((WIDGET_MDI_WINDOW_BUTTON==widget && (opts->titlebarButtons&TITLEBAR_BUTTON_ROUND)) ||
1735
1776
       WIDGET_RADIO_BUTTON==widget || WIDGET_DIAL==widget) 
1736
1777
        return (w>h ? h : w)/2.0;
1737
1778
#endif
1758
1799
                case ROUND_FULL:
1759
1800
//                     if( /*(WIDGET_RUBBER_BAND==widget && w>11 && h>11) || */(w>48 && h>48))
1760
1801
//                         return 3.0;
1761
 
                    if(w>QTC_MIN_ROUND_FULL_SIZE && h>QTC_MIN_ROUND_FULL_SIZE)
 
1802
                    if(w>MIN_ROUND_FULL_SIZE && h>MIN_ROUND_FULL_SIZE)
1762
1803
                        return 3.0;
1763
1804
                case ROUND_SLIGHT:
1764
1805
                    return 2.0;
1772
1813
                    if(IS_SLIDER(widget) || WIDGET_TROUGH==widget)
1773
1814
                    {
1774
1815
                        double r=((w>h ? h : w)-(WIDGET_SLIDER==widget ? 1 : 0))/2.0;
1775
 
                        return r>QTC_MAX_RADIUS_INTERNAL ? QTC_MAX_RADIUS_INTERNAL : r;
 
1816
                        return r>MAX_RADIUS_INTERNAL ? MAX_RADIUS_INTERNAL : r;
1776
1817
                    }
1777
 
                    if(w>(QTC_MIN_ROUND_MAX_WIDTH-2) && h>(QTC_MIN_ROUND_MAX_HEIGHT-2) && QTC_IS_MAX_ROUND_WIDGET(widget))
 
1818
                    if(w>(MIN_ROUND_MAX_WIDTH-2) && h>(MIN_ROUND_MAX_HEIGHT-2) && IS_MAX_ROUND_WIDGET(widget))
1778
1819
                    {
1779
1820
                        double r=((w>h ? h : w)-2.0)/2.0;
1780
1821
                        return r>9.5 ? 9.5 : r;
1781
1822
                    }
1782
1823
                case ROUND_EXTRA:
1783
 
                    if(QTC_CAN_EXTRA_ROUND(-2))
1784
 
                        return QTC_EXTRA_INNER_RADIUS;
 
1824
                    if(CAN_EXTRA_ROUND(-2))
 
1825
                        return EXTRA_INNER_RADIUS;
1785
1826
                case ROUND_FULL:
1786
 
                    if(QTC_CAN_FULL_ROUND(-2))
1787
 
                        return QTC_FULL_INNER_RADIUS;
 
1827
                    if(CAN_FULL_ROUND(-2))
 
1828
                        return FULL_INNER_RADIUS;
1788
1829
                case ROUND_SLIGHT:
1789
 
                    return QTC_SLIGHT_INNER_RADIUS;
 
1830
                    return SLIGHT_INNER_RADIUS;
1790
1831
                case ROUND_NONE:
1791
1832
                    return 0;
1792
1833
            }
1797
1838
                    if(IS_SLIDER(widget) || WIDGET_TROUGH==widget)
1798
1839
                    {
1799
1840
                        double r=((w>h ? h : w)-(WIDGET_SLIDER==widget ? 1 : 0))/2.0;
1800
 
                        return r>QTC_MAX_RADIUS_EXTERNAL ? QTC_MAX_RADIUS_EXTERNAL : r;
 
1841
                        return r>MAX_RADIUS_EXTERNAL ? MAX_RADIUS_EXTERNAL : r;
1801
1842
                    }
1802
 
                    if(w>QTC_MIN_ROUND_MAX_WIDTH && h>QTC_MIN_ROUND_MAX_HEIGHT && QTC_IS_MAX_ROUND_WIDGET(widget))
 
1843
                    if(w>MIN_ROUND_MAX_WIDTH && h>MIN_ROUND_MAX_HEIGHT && IS_MAX_ROUND_WIDGET(widget))
1803
1844
                    {
1804
1845
                        double r=((w>h ? h : w)-2.0)/2.0;
1805
1846
                        return r>10.5 ? 10.5 : r;
1806
1847
                    }
1807
1848
                case ROUND_EXTRA:
1808
 
                    if(QTC_CAN_EXTRA_ROUND(0))
1809
 
                        return QTC_EXTRA_OUTER_RADIUS;
 
1849
                    if(CAN_EXTRA_ROUND(0))
 
1850
                        return EXTRA_OUTER_RADIUS;
1810
1851
                case ROUND_FULL:
1811
 
                    if(QTC_CAN_FULL_ROUND(0))
1812
 
                        return QTC_FULL_OUTER_RADIUS;
 
1852
                    if(CAN_FULL_ROUND(0))
 
1853
                        return FULL_OUTER_RADIUS;
1813
1854
                case ROUND_SLIGHT:
1814
 
                    return QTC_SLIGHT_OUTER_RADIUS;
 
1855
                    return SLIGHT_OUTER_RADIUS;
1815
1856
                case ROUND_NONE:
1816
1857
                    return 0;
1817
1858
            }
1823
1864
                    if(IS_SLIDER(widget) || WIDGET_TROUGH==widget)
1824
1865
                    {
1825
1866
                        double r=((w>h ? h : w)-(WIDGET_SLIDER==widget ? 1 : 0))/2.0;
1826
 
                        return r>QTC_MAX_RADIUS_EXTERNAL ? QTC_MAX_RADIUS_EXTERNAL : r;
 
1867
                        return r>MAX_RADIUS_EXTERNAL ? MAX_RADIUS_EXTERNAL : r;
1827
1868
                    }
1828
 
                    if(w>(QTC_MIN_ROUND_MAX_WIDTH+2) && h>(QTC_MIN_ROUND_MAX_HEIGHT+2) && QTC_IS_MAX_ROUND_WIDGET(widget))
 
1869
                    if(w>(MIN_ROUND_MAX_WIDTH+2) && h>(MIN_ROUND_MAX_HEIGHT+2) && IS_MAX_ROUND_WIDGET(widget))
1829
1870
                    {
1830
1871
                        double r=((w>h ? h : w)-2.0)/2.0;
1831
1872
                        return r>11.5 ? 11.5 : r;
1832
1873
                    }
1833
1874
                case ROUND_EXTRA:
1834
 
                    if(QTC_CAN_FULL_ROUND(2))
1835
 
                        return QTC_EXTRA_ETCH_RADIUS;
 
1875
                    if(CAN_FULL_ROUND(2))
 
1876
                        return EXTRA_ETCH_RADIUS;
1836
1877
                case ROUND_FULL:
1837
 
                    if(w>(QTC_MIN_ROUND_FULL_SIZE+2) && h>(QTC_MIN_ROUND_FULL_SIZE+2))
1838
 
                        return QTC_FULL_ETCH_RADIUS;
 
1878
                    if(w>(MIN_ROUND_FULL_SIZE+2) && h>(MIN_ROUND_FULL_SIZE+2))
 
1879
                        return FULL_ETCH_RADIUS;
1839
1880
                case ROUND_SLIGHT:
1840
 
                    return QTC_SLIGHT_ETCH_RADIUS;
 
1881
                    return SLIGHT_ETCH_RADIUS;
1841
1882
                case ROUND_NONE:
1842
1883
                    return 0;
1843
1884
            }