[beryl-commits] r2292 - branches/beryl-plugins/group-tabbed
marex at server.beryl-project.org
marex at server.beryl-project.org
Tue Jan 2 22:50:59 CET 2007
Author: marex
Date: 2007-01-02 21:50:58 +0000 (Tue, 02 Jan 2007)
New Revision: 2292
Modified:
branches/beryl-plugins/group-tabbed/group.h
branches/beryl-plugins/group-tabbed/option.c
branches/beryl-plugins/group-tabbed/paint.c
Log:
group-tab-branch: Added option for text fade time and now respect tab bar transparency.
Modified: branches/beryl-plugins/group-tabbed/group.h
===================================================================
--- branches/beryl-plugins/group-tabbed/group.h 2007-01-02 21:15:09 UTC (rev 2291)
+++ branches/beryl-plugins/group-tabbed/group.h 2007-01-02 21:50:58 UTC (rev 2292)
@@ -86,10 +86,11 @@
#define GROUP_SCREEN_OPTION_VISIBILITY_TIME 23
#define GROUP_SCREEN_OPTION_UNTAB_ON_CLOSE 24
#define GROUP_SCREEN_OPTION_TABBAR_FONTSIZE 25
-#define GROUP_SCREEN_OPTION_TABBAR_FONTCOLOR 26
-#define GROUP_SCREEN_OPTION_TAB_CREATE_MIPMAPS 27
-#define GROUP_SCREEN_OPTION_CHANGE_ANIMATION_TIME 28
-#define GROUP_SCREEN_OPTION_NUM 29
+#define GROUP_SCREEN_OPTION_FADE_TEXT_TIME 26
+#define GROUP_SCREEN_OPTION_TABBAR_FONTCOLOR 27
+#define GROUP_SCREEN_OPTION_TAB_CREATE_MIPMAPS 28
+#define GROUP_SCREEN_OPTION_CHANGE_ANIMATION_TIME 29
+#define GROUP_SCREEN_OPTION_NUM 30
/*
* Helpers
Modified: branches/beryl-plugins/group-tabbed/option.c
===================================================================
--- branches/beryl-plugins/group-tabbed/option.c 2007-01-02 21:15:09 UTC (rev 2291)
+++ branches/beryl-plugins/group-tabbed/option.c 2007-01-02 21:50:58 UTC (rev 2292)
@@ -117,11 +117,16 @@
#define GROUP_GLOW_TYPE_DEFAULT GlowTextureRectangular
-#define GROUP_FADE_TIME_MIN 0.0f
-#define GROUP_FADE_TIME_MAX 5.0f
+#define GROUP_FADE_TIME_MIN 0.0f
+#define GROUP_FADE_TIME_MAX 5.0f
#define GROUP_FADE_TIME_PRECISION 0.1f
#define GROUP_FADE_TIME_DEFAULT 0.5f
+#define GROUP_FADE_TEXT_TIME_MIN 0.00f
+#define GROUP_FADE_TEXT_TIME_MAX 5.00f
+#define GROUP_FADE_TEXT_TIME_PRECISION 0.05f
+#define GROUP_FADE_TEXT_TIME_DEFAULT 0.25f
+
#define GROUP_CHANGE_ANIMATION_TIME_DEFAULT 1.0f
#define GROUP_CHANGE_ANIMATION_TIME_MIN 0.0f
#define GROUP_CHANGE_ANIMATION_TIME_MAX 5.0f
@@ -502,6 +507,20 @@
o->rest.f.max = GROUP_FADE_TIME_MAX;
o->rest.f.precision = GROUP_FADE_TIME_PRECISION;
+ o = &gs->opt[GROUP_SCREEN_OPTION_FADE_TEXT_TIME];
+ o->name = "fade_text_time";
+ o->group = N_("Tabbing");
+ o->subGroup = N_("Options");
+ o->displayHints = "";
+ o->advanced = False;
+ o->shortDesc = N_("Fade time for text animations.");
+ o->longDesc = N_("Duration (in s) of the fading animation of the text when showing / hiding it.");
+ o->type = CompOptionTypeFloat;
+ o->value.f = GROUP_FADE_TEXT_TIME_DEFAULT;
+ o->rest.f.min = GROUP_FADE_TEXT_TIME_MIN;
+ o->rest.f.max = GROUP_FADE_TEXT_TIME_MAX;
+ o->rest.f.precision = GROUP_FADE_TEXT_TIME_PRECISION;
+
o = &gs->opt[GROUP_SCREEN_OPTION_VISIBILITY_TIME];
o->name = "visibility_time";
o->group = N_("Tabbing");
@@ -661,6 +680,7 @@
break;
case GROUP_SCREEN_OPTION_FADE_TIME:
+ case GROUP_SCREEN_OPTION_FADE_TEXT_TIME:
case GROUP_SCREEN_OPTION_VISIBILITY_TIME:
case GROUP_SCREEN_OPTION_CHANGE_ANIMATION_TIME:
if (compSetFloatOption(o, value)) {
Modified: branches/beryl-plugins/group-tabbed/paint.c
===================================================================
--- branches/beryl-plugins/group-tabbed/paint.c 2007-01-02 21:15:09 UTC (rev 2291)
+++ branches/beryl-plugins/group-tabbed/paint.c 2007-01-02 21:50:58 UTC (rev 2292)
@@ -211,7 +211,7 @@
if ((bar->cc->state == PaintOff ||
bar->cc->state == PaintFadeOut)) {
- bar->cc->animationTime = (gs->opt[GROUP_SCREEN_OPTION_FADE_TIME].value.f * 500);
+ bar->cc->animationTime = (gs->opt[GROUP_SCREEN_OPTION_FADE_TEXT_TIME].value.f * 500);
bar->cc->state = PaintFadeIn;
}
}
@@ -244,6 +244,7 @@
int alpha_fill_selection = group->color[3]/2;
int alpha_line = gs->opt[GROUP_SCREEN_OPTION_TAB_BORDER_COLOR].value.c[3];
int alpha_line_selection = group->color[3];
+ int alpha_text = 0xFFFF;
if (group->tabBar->state == PaintFadeIn) {
alpha_fill -= alpha_fill * group->tabBar->animationTime /
@@ -254,6 +255,8 @@
(gs->opt[GROUP_SCREEN_OPTION_FADE_TIME].value.f * 1000);
alpha_line_selection -= alpha_line_selection * group->tabBar->animationTime /
(gs->opt[GROUP_SCREEN_OPTION_FADE_TIME].value.f * 1000);
+ alpha_text -= alpha_text * group->tabBar->animationTime /
+ (gs->opt[GROUP_SCREEN_OPTION_FADE_TIME].value.f * 1000);
} else if (group->tabBar->state == PaintFadeOut) {
alpha_fill = alpha_fill * group->tabBar->animationTime /
(gs->opt[GROUP_SCREEN_OPTION_FADE_TIME].value.f * 1000);
@@ -263,6 +266,8 @@
(gs->opt[GROUP_SCREEN_OPTION_FADE_TIME].value.f * 1000);
alpha_line_selection = alpha_line_selection * group->tabBar->animationTime /
(gs->opt[GROUP_SCREEN_OPTION_FADE_TIME].value.f * 1000);
+ alpha_text = alpha_text * group->tabBar->animationTime /
+ (gs->opt[GROUP_SCREEN_OPTION_FADE_TIME].value.f * 1000);
}
// tab bar
@@ -325,7 +330,7 @@
if (group->tabBar->cc->state == PaintOn ||
group->tabBar->cc->state == PaintFadeIn) {
group->tabBar->cc->state = PaintFadeOut;
- group->tabBar->cc->animationTime = (gs->opt[GROUP_SCREEN_OPTION_FADE_TIME].value.f * 500);
+ group->tabBar->cc->animationTime = (gs->opt[GROUP_SCREEN_OPTION_FADE_TEXT_TIME].value.f * 1000);
animation = TRUE;
} else if (group->tabBar->cc->state == PaintFadeOut) {
animation = TRUE;
@@ -358,13 +363,13 @@
// text
if (group->tabBar->cc->state != PaintOff) {
- int alpha_text = 0xFFFF;
+ // recalculate the alpha again...
if (group->tabBar->cc->state == PaintFadeIn) {
alpha_text -= alpha_text * group->tabBar->cc->animationTime /
- (gs->opt[GROUP_SCREEN_OPTION_FADE_TIME].value.f * 500);
+ (gs->opt[GROUP_SCREEN_OPTION_FADE_TEXT_TIME].value.f * 1000);
} else if (group->tabBar->cc->state == PaintFadeOut) {
alpha_text = alpha_text * group->tabBar->cc->animationTime /
- (gs->opt[GROUP_SCREEN_OPTION_FADE_TIME].value.f * 500);
+ (gs->opt[GROUP_SCREEN_OPTION_FADE_TEXT_TIME].value.f * 1000);
}
glEnable(GL_TEXTURE_RECTANGLE_ARB);
More information about the commits
mailing list