[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