From: <mm...@us...> - 2009-02-18 19:19:52
|
Revision: 11633 http://alleg.svn.sourceforge.net/alleg/?rev=11633&view=rev Author: mmimica Date: 2009-02-18 19:19:46 +0000 (Wed, 18 Feb 2009) Log Message: ----------- std::max expands into something because max is a macro defined in Windows headers. This prevents it from happening. Modified Paths: -------------- allegro/branches/4.9/examples/nihgui.cpp Modified: allegro/branches/4.9/examples/nihgui.cpp =================================================================== --- allegro/branches/4.9/examples/nihgui.cpp 2009-02-18 13:45:40 UTC (rev 11632) +++ allegro/branches/4.9/examples/nihgui.cpp 2009-02-18 19:19:46 UTC (rev 11633) @@ -13,7 +13,7 @@ #include "nihgui.hpp" -#define CLAMP(x,y,z) std::max(x, std::min(y, z)) +#define CLAMP(x,y,z) (std::max)(x, (std::min)(y, z)) class SaveState { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2009-04-10 04:20:29
|
Revision: 12053 http://alleg.svn.sourceforge.net/alleg/?rev=12053&view=rev Author: tjaden Date: 2009-04-10 04:20:27 +0000 (Fri, 10 Apr 2009) Log Message: ----------- Fix the TextEntry widget which drew the text incorrectly when the cursor_pos==0, as al_draw_text() treats the zero end parameter specially. Can't say it's ideal... Modified Paths: -------------- allegro/branches/4.9/examples/nihgui.cpp Modified: allegro/branches/4.9/examples/nihgui.cpp =================================================================== --- allegro/branches/4.9/examples/nihgui.cpp 2009-04-08 21:56:29 UTC (rev 12052) +++ allegro/branches/4.9/examples/nihgui.cpp 2009-04-10 04:20:27 UTC (rev 12053) @@ -723,8 +723,10 @@ else { int x = x1; - al_draw_text(theme.font, x1, y1, 0, s, left_pos, cursor_pos); - x += al_get_text_width(theme.font, s, left_pos, cursor_pos); + if (cursor_pos > 0) { + al_draw_text(theme.font, x1, y1, 0, s, left_pos, cursor_pos); + x += al_get_text_width(theme.font, s, left_pos, cursor_pos); + } if (cursor_pos == text.size()) { al_draw_filled_rectangle(x, y1, x + CURSOR_WIDTH, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Elias P. <eli...@gm...> - 2009-04-10 11:07:19
|
tj...@us... wrote: > Revision: 12053 > http://alleg.svn.sourceforge.net/alleg/?rev=12053&view=rev > Author: tjaden > Date: 2009-04-10 04:20:27 +0000 (Fri, 10 Apr 2009) > > Log Message: > ----------- > Fix the TextEntry widget which drew the text incorrectly when the > cursor_pos==0, as al_draw_text() treats the zero end parameter specially. > Can't say it's ideal... Maybe (start, count) instead, with count == -1 meaning until end of string? Again a special case, but maybe less likely to run into problems (and the same change should be made then to al_ref_ustr, not good having different ways to specify sub-strings throughout the API). -- Elias Pschernig <el...@us...> |
From: <tj...@us...> - 2009-04-11 23:46:27
|
Revision: 12062 http://alleg.svn.sourceforge.net/alleg/?rev=12062&view=rev Author: tjaden Date: 2009-04-11 23:46:26 +0000 (Sat, 11 Apr 2009) Log Message: ----------- Fix drawing of TextEntry widget. Use conversion operator for UString class, just because. Modified Paths: -------------- allegro/branches/4.9/examples/nihgui.cpp Modified: allegro/branches/4.9/examples/nihgui.cpp =================================================================== --- allegro/branches/4.9/examples/nihgui.cpp 2009-04-11 23:45:24 UTC (rev 12061) +++ allegro/branches/4.9/examples/nihgui.cpp 2009-04-11 23:46:26 UTC (rev 12062) @@ -34,16 +34,24 @@ class UString { -public: ALLEGRO_USTR_INFO info; ALLEGRO_USTR *ustr; - UString(std::string s, int first, int count = -1) + +public: + UString(const std::string & s, int first, int count = -1) { ustr = al_ref_cstr(&info, s.c_str()); ustr = al_ref_ustr(&info, ustr, al_ustr_offset(ustr, first), - count == -1 ? al_ustr_size(ustr) : - al_ustr_offset(ustr, first + count)); + (count == -1) + ? al_ustr_size(ustr) + : al_ustr_offset(ustr, first + count)); } + + // Conversion + operator const ALLEGRO_USTR *() const + { + return ustr; + } }; }; @@ -715,8 +723,8 @@ } else { for (;;) { - const int tw = al_get_ustr_width(theme.font, UString(text, left_pos, - cursor_pos - left_pos).ustr); + const int tw = al_get_ustr_width(theme.font, + UString(text, left_pos, cursor_pos - left_pos)); if (x1 + tw + CURSOR_WIDTH < x2) { break; } @@ -735,16 +743,15 @@ al_set_blender(ALLEGRO_ALPHA, ALLEGRO_INVERSE_ALPHA, theme.fg); if (!focused) { - al_draw_ustr(theme.font, x1, y1, 0, UString(text, left_pos).ustr); + al_draw_ustr(theme.font, x1, y1, 0, UString(text, left_pos)); } else { int x = x1; if (cursor_pos > 0) { - al_draw_ustr(theme.font, x1, y1, 0, UString(text, left_pos, - cursor_pos - left_pos).ustr); - x += al_get_ustr_width(theme.font, UString(text, left_pos, - left_pos - cursor_pos).ustr); + UString sub(text, left_pos, cursor_pos); + al_draw_ustr(theme.font, x1, y1, 0, sub); + x += al_get_ustr_width(theme.font, sub); } if (cursor_pos == text.size()) { @@ -752,12 +759,13 @@ y1 + al_get_font_line_height(theme.font), theme.fg); } else { + UString sub(text, cursor_pos, 1); al_set_blender(ALLEGRO_INVERSE_ALPHA, ALLEGRO_ALPHA, theme.fg); - al_draw_ustr(theme.font, x, y1, 0, UString(text, cursor_pos, 1).ustr); - x += al_get_ustr_width(theme.font, UString(text, cursor_pos, 1).ustr); + al_draw_ustr(theme.font, x, y1, 0, sub); + x += al_get_ustr_width(theme.font, sub); al_set_blender(ALLEGRO_ALPHA, ALLEGRO_INVERSE_ALPHA, theme.fg); - al_draw_ustr(theme.font, x, y1, 0, UString(text, cursor_pos + 1).ustr); + al_draw_ustr(theme.font, x, y1, 0, UString(text, cursor_pos + 1)); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2009-08-09 07:50:29
|
Revision: 12380 http://alleg.svn.sourceforge.net/alleg/?rev=12380&view=rev Author: tjaden Date: 2009-08-09 07:28:55 +0000 (Sun, 09 Aug 2009) Log Message: ----------- Add missing member initialisation for Dialog class. Modified Paths: -------------- allegro/branches/4.9/examples/nihgui.cpp Modified: allegro/branches/4.9/examples/nihgui.cpp =================================================================== --- allegro/branches/4.9/examples/nihgui.cpp 2009-08-09 07:28:23 UTC (rev 12379) +++ allegro/branches/4.9/examples/nihgui.cpp 2009-08-09 07:28:55 UTC (rev 12380) @@ -109,7 +109,9 @@ quit_requested(false), mouse_over_widget(NULL), mouse_down_widget(NULL), - key_widget(NULL) + key_widget(NULL), + + event_handler(NULL) { this->event_queue = al_create_event_queue(); al_register_event_source(this->event_queue, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2010-05-24 23:23:54
|
Revision: 13342 http://alleg.svn.sourceforge.net/alleg/?rev=13342&view=rev Author: tjaden Date: 2010-05-24 23:23:47 +0000 (Mon, 24 May 2010) Log Message: ----------- nihgui: Improved the look of VSlider. Modified Paths: -------------- allegro/branches/4.9/examples/nihgui.cpp Modified: allegro/branches/4.9/examples/nihgui.cpp =================================================================== --- allegro/branches/4.9/examples/nihgui.cpp 2010-05-24 12:37:37 UTC (rev 13341) +++ allegro/branches/4.9/examples/nihgui.cpp 2010-05-24 23:23:47 UTC (rev 13342) @@ -592,15 +592,15 @@ void VSlider::draw() { const Theme & theme = dialog->get_theme(); - const int cx = (x1 + x2) / 2; + float left = x1 + 0.5, top = y1 + 0.5; + float right = x2 + 0.5, bottom = y2 + 0.5; SaveState state; - al_draw_rectangle(x1, y1, x2, y2, theme.bg, 0); - al_draw_line(cx, y1, cx, y2, theme.fg, 0); + al_draw_rectangle(left, top, right, bottom, theme.fg, 1); double ratio = (double) this->cur_value / (double) this->max_value; - int ypos = y2 - (int) (ratio * (height() - 2)); - al_draw_filled_rectangle(x1, ypos - 2, x2, ypos + 2, theme.fg); + int ypos = bottom - 0.5 - (int) (ratio * (height() - 7)); + al_draw_filled_rectangle(left + 0.5, ypos - 5, right - 0.5, ypos, theme.fg); } int VSlider::get_cur_value() const This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2010-05-25 12:31:14
|
Revision: 13348 http://alleg.svn.sourceforge.net/alleg/?rev=13348&view=rev Author: tjaden Date: 2010-05-25 12:31:08 +0000 (Tue, 25 May 2010) Log Message: ----------- Fix a precision loss warning. Modified Paths: -------------- allegro/branches/4.9/examples/nihgui.cpp Modified: allegro/branches/4.9/examples/nihgui.cpp =================================================================== --- allegro/branches/4.9/examples/nihgui.cpp 2010-05-25 12:30:41 UTC (rev 13347) +++ allegro/branches/4.9/examples/nihgui.cpp 2010-05-25 12:31:08 UTC (rev 13348) @@ -599,7 +599,7 @@ al_draw_rectangle(left, top, right, bottom, theme.fg, 1); double ratio = (double) this->cur_value / (double) this->max_value; - int ypos = bottom - 0.5 - (int) (ratio * (height() - 7)); + int ypos = (int) (bottom - 0.5 - (int) (ratio * (height() - 7))); al_draw_filled_rectangle(left + 0.5, ypos - 5, right - 0.5, ypos, theme.fg); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2010-06-21 11:17:58
|
Revision: 13390 http://alleg.svn.sourceforge.net/alleg/?rev=13390&view=rev Author: tjaden Date: 2010-06-21 11:17:52 +0000 (Mon, 21 Jun 2010) Log Message: ----------- nihgui: Restore drawing the cursor in TextField. Modified Paths: -------------- allegro/branches/4.9/examples/nihgui.cpp Modified: allegro/branches/4.9/examples/nihgui.cpp =================================================================== --- allegro/branches/4.9/examples/nihgui.cpp 2010-06-21 03:39:29 UTC (rev 13389) +++ allegro/branches/4.9/examples/nihgui.cpp 2010-06-21 11:17:52 UTC (rev 13390) @@ -775,8 +775,11 @@ } else { UString sub(text, cursor_pos, 1); - al_draw_ustr(theme.font, theme.fg, x, y1, 0, sub); - x += al_get_ustr_width(theme.font, sub); + int subw = al_get_ustr_width(theme.font, sub); + al_draw_filled_rectangle(x, y1, x + subw, + y1 + al_get_font_line_height(theme.font), theme.fg); + al_draw_ustr(theme.font, theme.bg, x, y1, 0, sub); + x += subw; al_draw_ustr(theme.font, theme.fg, x, y1, 0, UString(text, cursor_pos + 1)); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2010-11-05 21:18:38
|
Revision: 13871 http://alleg.svn.sourceforge.net/alleg/?rev=13871&view=rev Author: tjaden Date: 2010-11-05 21:18:32 +0000 (Fri, 05 Nov 2010) Log Message: ----------- nihgui: Draw Buttons correctly. Modified Paths: -------------- allegro/branches/4.9/examples/nihgui.cpp Modified: allegro/branches/4.9/examples/nihgui.cpp =================================================================== --- allegro/branches/4.9/examples/nihgui.cpp 2010-11-05 21:18:02 UTC (rev 13870) +++ allegro/branches/4.9/examples/nihgui.cpp 2010-11-05 21:18:32 UTC (rev 13871) @@ -428,10 +428,10 @@ bg = theme.bg; } - al_draw_rectangle(this->x1, this->y1, this->x2, this->y2, - fg, 0); - al_draw_filled_rectangle(this->x1 + 1, this->y1 + 1, this->x2 - 1, this->y2 - 1, - bg); + al_draw_filled_rectangle(this->x1, this->y1, + this->x2, this->y2, bg); + al_draw_rectangle(this->x1 + 0.5, this->y1 + 0.5, + this->x2 - 0.5, this->y2 - 0.5, fg, 0); al_set_blender(ALLEGRO_ADD, ALLEGRO_ALPHA, ALLEGRO_INVERSE_ALPHA); al_draw_text(theme.font, fg, (this->x1 + this->x2 + 1)/2, this->y1, ALLEGRO_ALIGN_CENTRE, this->text.c_str()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |