From 9805d7cf0ce8875950b667e16982fcecd02068ad Mon Sep 17 00:00:00 2001 From: terencehill Date: Fri, 23 Jul 2010 17:51:23 +0200 Subject: [PATCH] Fix use of HEIGHT_DIALOGBORDER: - its value was ignored (always used the default value 1) - the menu didn't handle correctly it anyway Note: MARGIN_BOTTOM, MARGIN_LEFT and MARGIN_RIGHT must be changed according to HEIGHT_DIALOGBORDER, as the code DON'T handle directly the border size, while MARGIN_TOP is intended as the distance from the title bar and doesn't depend on HEIGHT_DIALOGBORDER. FONTSIZE_TITLE and HEIGHT_TITLE must NOT be changed according to HEIGHT_DIALOGBORDER because they change the borders too (I don't know why they behave in this way). --- qcsrc/menu/item/borderimage.c | 6 +++--- qcsrc/menu/item/dialog.c | 7 ++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/qcsrc/menu/item/borderimage.c b/qcsrc/menu/item/borderimage.c index 0229b53a5..236b23522 100644 --- a/qcsrc/menu/item/borderimage.c +++ b/qcsrc/menu/item/borderimage.c @@ -13,7 +13,6 @@ CLASS(BorderImage) EXTENDS(Label) ATTRIB(BorderImage, isNexposeeTitleBar, float, 0) ATTRIB(BorderImage, zoomedOutTitleBarPosition, float, 0) ATTRIB(BorderImage, zoomedOutTitleBar, float, 0) - ATTRIB(BorderImage, borderLines, float, 1) ENDCLASS(BorderImage) #endif @@ -36,7 +35,8 @@ void BorderImage_resizeNotify(entity me, vector relOrigin, vector relSize, vecto me.realFontSize_Nexposeed = me.realFontSize; } SUPER(BorderImage).resizeNotify(me, relOrigin, relSize, absOrigin, absSize); - me.borderVec = me.borderHeight / absSize_y * (eY + eX * (absSize_y / absSize_x)); + me.borderVec_x = me.borderHeight / absSize_x; + me.borderVec_y = me.borderHeight / absSize_y; me.realOrigin_y = 0.5 * (me.borderVec_y - me.realFontSize_y); if(me.closeButton) { @@ -60,7 +60,7 @@ void BorderImage_draw(entity me) //print(vtos(me.borderVec), "\n"); if(me.src) - draw_BorderPicture('0 0 0', me.src, '1 1 0', me.color, 1, me.borderLines * me.borderVec); + draw_BorderPicture('0 0 0', me.src, '1 1 0', me.color, 1, me.borderVec); if(me.fontSize > 0) { vector ro, rf, df; diff --git a/qcsrc/menu/item/dialog.c b/qcsrc/menu/item/dialog.c index 8202fbbb6..3d537bfb9 100644 --- a/qcsrc/menu/item/dialog.c +++ b/qcsrc/menu/item/dialog.c @@ -59,6 +59,7 @@ CLASS(Dialog) EXTENDS(InputContainer) ATTRIB(Dialog, zoomedOutTitleBar, float, 0) ATTRIB(Dialog, backgroundImage, string, string_null) + ATTRIB(Dialog, borderLines, float, 1) ATTRIB(Dialog, closeButtonImage, string, string_null) ATTRIB(Dialog, frame, entity, NULL) @@ -128,7 +129,7 @@ void Dialog_configureDialog(entity me) float absWidth, absHeight; me.frame = spawnBorderImage(); - me.frame.configureBorderImage(me.frame, me.title, me.titleFontSize, me.color, me.backgroundImage, me.titleHeight); + me.frame.configureBorderImage(me.frame, me.title, me.titleFontSize, me.color, me.backgroundImage, me.borderLines * me.titleHeight); me.frame.zoomedOutTitleBarPosition = me.zoomedOutTitleBarPosition; me.frame.zoomedOutTitleBar = me.zoomedOutTitleBar; me.frame.alpha = me.alpha; @@ -138,9 +139,9 @@ void Dialog_configureDialog(entity me) me.titleHeight = 0; // no title bar absWidth = me.intendedWidth * conwidth; - absHeight = me.titleHeight + me.marginTop + me.rows * me.rowHeight + (me.rows - 1) * me.rowSpacing + me.marginBottom; + absHeight = me.borderLines * me.titleHeight + me.marginTop + me.rows * me.rowHeight + (me.rows - 1) * me.rowSpacing + me.marginBottom; me.itemOrigin = eX * (me.marginLeft / absWidth) - + eY * ((me.titleHeight + me.marginTop) / absHeight); + + eY * ((me.borderLines * me.titleHeight + me.marginTop) / absHeight); me.itemSize = eX * ((1 - (me.marginLeft + me.marginRight + me.columnSpacing * (me.columns - 1)) / absWidth) / me.columns) + eY * (me.rowHeight / absHeight); me.itemSpacing = me.itemSize -- 2.39.2