pingus-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pingus-CVS] r3159 - in trunk/pingus/src: editor gui


From: grumbel at BerliOS
Subject: [Pingus-CVS] r3159 - in trunk/pingus/src: editor gui
Date: Sat, 15 Sep 2007 15:27:05 +0200

Author: grumbel
Date: 2007-09-15 15:27:04 +0200 (Sat, 15 Sep 2007)
New Revision: 3159

Modified:
   trunk/pingus/src/editor/editor_viewport.cpp
   trunk/pingus/src/editor/level_objs.cpp
   trunk/pingus/src/gui/display.cpp
Log:
- normalize rects before drawing them, so all rects are drawable
- added alpha rects to editor

Modified: trunk/pingus/src/editor/editor_viewport.cpp
===================================================================
--- trunk/pingus/src/editor/editor_viewport.cpp 2007-09-15 05:50:05 UTC (rev 
3158)
+++ trunk/pingus/src/editor/editor_viewport.cpp 2007-09-15 13:27:04 UTC (rev 
3159)
@@ -221,9 +221,12 @@
   drawing_context->clear();
   drawing_context->fill_screen(Color(155,0,155));
   state.push(*drawing_context);
+  
+  // Level border
   drawing_context->draw_rect(Rect(Vector2i(0,0), 
editor->get_level()->get_size()), Color(255,255,255), 5000.0f);
   drawing_context->draw_rect(Rect(Vector2i(0,0), 
editor->get_level()->get_size()).grow(1), Color(0,0,0), 5000.0f);
 
+  // Safe area
   drawing_context->draw_rect(Rect(Vector2i(0,0), 
editor->get_level()->get_size()).grow(-100), Color(155,155,155), 5000.0f);
        
   // Draw the level objects
@@ -231,9 +234,10 @@
     objs[i]->draw(*drawing_context);
 
   if (current_action == HIGHLIGHTING)
-    drawing_context->draw_rect(highlighted_area.left, highlighted_area.top, 
-                               highlighted_area.right, 
highlighted_area.bottom, 
-                               Color(255,0,255), 1000.0f);
+    {
+      drawing_context->draw_fillrect(highlighted_area, Color(155,200,255, 
100), 1000.0f);
+      drawing_context->draw_rect(highlighted_area, Color(155,200,255), 
1000.0f);
+    }
   
   state.pop(*drawing_context);
   gc.draw(*drawing_context, -150);

Modified: trunk/pingus/src/editor/level_objs.cpp
===================================================================
--- trunk/pingus/src/editor/level_objs.cpp      2007-09-15 05:50:05 UTC (rev 
3158)
+++ trunk/pingus/src/editor/level_objs.cpp      2007-09-15 13:27:04 UTC (rev 
3159)
@@ -96,10 +96,13 @@
       // If selected, draw a highlighted box around it
       if (selected)
         {
-          gc.draw_rect((int)translated_pos.x, (int)translated_pos.y, 
-                       (int)translated_pos.x + sprite.get_width(), 
-                       (int)translated_pos.y + sprite.get_height(), 
-                       Color(255,0,0), 5000);
+          Rect r((int)translated_pos.x, 
+                 (int)translated_pos.y, 
+                 (int)translated_pos.x + sprite.get_width(), 
+                 (int)translated_pos.y + sprite.get_height()); 
+
+          gc.draw_fillrect(r, Color(255,0,0,100), 5000);
+          gc.draw_rect(r, Color(255,0,0), 5000);
         }
 
       if (attribs & HAS_WIDTH)

Modified: trunk/pingus/src/gui/display.cpp
===================================================================
--- trunk/pingus/src/gui/display.cpp    2007-09-15 05:50:05 UTC (rev 3158)
+++ trunk/pingus/src/gui/display.cpp    2007-09-15 13:27:04 UTC (rev 3159)
@@ -377,8 +377,11 @@
 }
 
 void
-Display::fill_rect(const Rect& rect, const Color& color)
+Display::fill_rect(const Rect& rect_, const Color& color)
 {
+  Rect rect = rect_;
+  rect.normalize();
+
   if (color.a == 255)
     {
       SDL_Rect srcrect;





reply via email to

[Prev in Thread] Current Thread [Next in Thread]