r3234 - trunk/data/qcsrc/menu-div0test/item
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Wed Jan 23 06:58:39 EST 2008
Author: div0
Date: 2008-01-23 06:58:38 -0500 (Wed, 23 Jan 2008)
New Revision: 3234
Modified:
trunk/data/qcsrc/menu-div0test/item/borderimage.c
trunk/data/qcsrc/menu-div0test/item/nexposee.c
Log:
Nexposee + Title bar: move title text out of the bar when zoomed out.
Idea: make the title bars smaller now in the skin?
Modified: trunk/data/qcsrc/menu-div0test/item/borderimage.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/item/borderimage.c 2008-01-23 08:45:18 UTC (rev 3233)
+++ trunk/data/qcsrc/menu-div0test/item/borderimage.c 2008-01-23 11:58:38 UTC (rev 3234)
@@ -8,12 +8,29 @@
ATTRIB(BorderImage, borderVec, vector, '0 0 0')
ATTRIB(BorderImage, color, vector, '1 1 1')
ATTRIB(BorderImage, closeButton, entity, NULL)
+ ATTRIB(BorderImage, realFontSize_Nexposeed, vector, '0 0 0')
+ ATTRIB(BorderImage, realOrigin_Nexposeed, vector, '0 0 0')
+ ATTRIB(BorderImage, isNexposeeTitleBar, float, 0)
ENDCLASS(BorderImage)
#endif
#ifdef IMPLEMENTATION
void resizeNotifyBorderImage(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
{
+ me.isNexposeeTitleBar = 0;
+ if(me.parent.parent.instanceOfNexposee)
+ if(me.parent.instanceOfDialog)
+ if(me == me.parent.frame)
+ me.isNexposeeTitleBar = 1;
+ if(me.isNexposeeTitleBar)
+ {
+ vector scrs;
+ scrs = eX * conwidth + eY * conheight;
+ resizeNotifyLabel(me, relOrigin, relSize, boxToGlobal(me.parent.Nexposee_smallOrigin, '0 0 0', scrs), boxToGlobalSize(me.parent.Nexposee_smallSize, scrs));
+ me.realOrigin_y = -me.realFontSize_y;
+ me.realOrigin_Nexposeed = me.realOrigin;
+ me.realFontSize_Nexposeed = me.realFontSize;
+ }
resizeNotifyLabel(me, relOrigin, relSize, absOrigin, absSize);
me.borderVec = me.borderHeight / absSize_y * (eY + eX * (absSize_y / absSize_x));
me.realOrigin_y = 0.5 * (me.borderVec_y - me.realFontSize_y);
@@ -37,9 +54,31 @@
void drawBorderImage(entity me)
{
//print(vtos(me.borderVec), "\n");
+
if(me.src)
draw_BorderPicture('0 0 0', me.src, '1 1 0', me.color, 1, me.borderVec);
if(me.fontSize > 0)
+ {
+ vector ro, rf;
+ if(me.isNexposeeTitleBar)
+ {
+ // me.parent.Nexposee_animationFactor 0 (small) or 1 (full)
+ // default values are for 1
+ ro = me.realOrigin;
+ rf = me.realFontSize;
+ me.realOrigin = ro * me.parent.Nexposee_animationFactor + me.realOrigin_Nexposeed * (1 - me.parent.Nexposee_animationFactor);
+ me.realFontSize = rf * me.parent.Nexposee_animationFactor + me.realFontSize_Nexposeed * (1 - me.parent.Nexposee_animationFactor);
+ }
+
drawLabel(me);
+
+ if(me.isNexposeeTitleBar)
+ {
+ // me.Nexposee_animationState 0 (small) or 1 (full)
+ // default values are for 1
+ me.realOrigin = ro;
+ me.realFontSize = rf;
+ }
+ }
};
#endif
Modified: trunk/data/qcsrc/menu-div0test/item/nexposee.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/item/nexposee.c 2008-01-23 08:45:18 UTC (rev 3233)
+++ trunk/data/qcsrc/menu-div0test/item/nexposee.c 2008-01-23 11:58:38 UTC (rev 3234)
@@ -44,6 +44,7 @@
.float Nexposee_mediumAlpha;
.vector Nexposee_scaleCenter;
.vector Nexposee_align;
+.float Nexposee_animationFactor;
void closeNexposee(entity me)
{
@@ -59,6 +60,7 @@
void resizeNotifyNexposee(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
{
+ me.calc(me);
me.resizeNotifyLie(me, relOrigin, relSize, absOrigin, absSize, Nexposee_initialOrigin, Nexposee_initialSize);
}
@@ -143,7 +145,6 @@
if(me.animationState == -1)
{
me.animationState = 0;
- me.calc(me);
}
//print(ftos(me.animationState), "\n");
@@ -185,6 +186,7 @@
{
e.Container_origin = e.Nexposee_smallOrigin * (1 - me.animationFactor) + e.Nexposee_initialOrigin * me.animationFactor;
e.Container_size = e.Nexposee_smallSize * (1 - me.animationFactor) + e.Nexposee_initialSize * me.animationFactor;
+ e.Nexposee_animationFactor = me.animationFactor;
a0 = e.Nexposee_mediumAlpha;
if(me.animationState == 3)
if(e != me.mouseFocusedChild)
@@ -196,6 +198,7 @@
// minimum theSize counts
e.Container_origin = e.Nexposee_smallOrigin;
e.Container_size = e.Nexposee_smallSize;
+ e.Nexposee_animationFactor = 0;
a = e.Nexposee_smallAlpha * (1 - me.animationFactor);
}
me.setAlphaOf(me, e, e.Container_alpha * (1 - f) + a * f);
More information about the nexuiz-commits
mailing list