Author: mordante
Date: Wed Apr  9 18:51:21 2008
New Revision: 25711

URL: http://svn.gna.org/viewcvs/wesnoth?rev=25711&view=rev
Log:
get_minimum_size() and get_best_size() now look at the actual text width.

Modified:
    trunk/data/gui/default/window/addon.cfg
    trunk/src/gui/widgets/control.cpp

Modified: trunk/data/gui/default/window/addon.cfg
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/data/gui/default/window/addon.cfg?rev=25711&r1=25710&r2=25711&view=diff
==============================================================================
--- trunk/data/gui/default/window/addon.cfg (original)
+++ trunk/data/gui/default/window/addon.cfg Wed Apr  9 18:51:21 2008
@@ -28,7 +28,6 @@
                                        border = "all"
                                        border_size = 5
                                        horizontal_alignment = "left"
-                                       horizontal_grow = "true" #FIXME should 
not be needed
                                        [label]
                                                label_definition = "default"
 
@@ -48,7 +47,6 @@
                                        border = "all"
                                        border_size = 5
                                        horizontal_alignment = "left"
-                                       horizontal_grow = "true" #FIXME should 
not be needed
                                        [label]
                                                label_definition = "default"
 

Modified: trunk/src/gui/widgets/control.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/gui/widgets/control.cpp?rev=25711&r1=25710&r2=25711&view=diff
==============================================================================
--- trunk/src/gui/widgets/control.cpp (original)
+++ trunk/src/gui/widgets/control.cpp Wed Apr  9 18:51:21 2008
@@ -14,8 +14,10 @@
 
 #include "gui/widgets/control.hpp"
 
+#include "font.hpp"
 #include "foreach.hpp"
 #include "log.hpp"
+#include "util.hpp"
 
 #define DBG_G LOG_STREAM_INDENT(debug, gui)
 #define LOG_G LOG_STREAM_INDENT(info, gui)
@@ -98,13 +100,28 @@
 tpoint tcontrol::get_minimum_size() const
 {
        assert(config_);
-       return tpoint(config_->min_width, config_->min_height);
+       const tpoint min_size(config_->min_width, config_->min_height);
+       if(label_.empty()) {
+               return min_size;
+       }
+
+       SDL_Rect rect = font::line_size(label_, config_->text_font_size);
+       const tpoint text_size(rect.w + config_->text_extra_width, rect.h + 
config_->text_extra_height);
+       return maximum(min_size, text_size);
 }
 
 tpoint tcontrol::get_best_size() const
 {
        assert(config_);
-       return tpoint(config_->default_width, config_->default_height);
+
+       const tpoint default_size(config_->default_width, 
config_->default_height);
+       if(label_.empty()) {
+               return default_size;
+       }
+
+       SDL_Rect rect = font::line_size(label_, config_->text_font_size);
+       const tpoint text_size(rect.w + config_->text_extra_width, rect.h + 
config_->text_extra_height);
+       return maximum(default_size, text_size);
 }
 
 tpoint tcontrol::get_maximum_size() const


_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits

Reply via email to