Author: Nikita Kitaev <[email protected]>
Date:   Mon Mar 21 16:05:45 2011 -0700

Render red box to indicate animate mode using cairo

---

 synfig-studio/src/gui/workarea.cpp |   23 ++++++++++++++---------
 1 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/synfig-studio/src/gui/workarea.cpp 
b/synfig-studio/src/gui/workarea.cpp
index d34d8ee..9fa52b5 100644
--- a/synfig-studio/src/gui/workarea.cpp
+++ b/synfig-studio/src/gui/workarea.cpp
@@ -2134,8 +2134,6 @@ WorkArea::refresh(GdkEventExpose*event)
        //const synfig::Vector::value_type window_starty(window_tl[1]);
        //const synfig::Vector::value_type window_endy(window_br[1]);
 
-       Glib::RefPtr<Gdk::GC> gc=Gdk::GC::create(drawing_area->get_window());
-
        // If we are in animate mode, draw a red border around the screen
        if(canvas_interface->get_mode()&synfigapp::MODE_ANIMATE)
        {
@@ -2148,13 +2146,20 @@ WorkArea::refresh(GdkEventExpose*event)
                
drawing_frame->modify_bg(Gtk::STATE_NORMAL,Gdk::Color("#FF0000"));
 #else
                // So let's do it in a more primitive fashion.
-               gc->set_rgb_fg_color(Gdk::Color("#FF0000"));
-               
gc->set_line_attributes(1,Gdk::LINE_SOLID,Gdk::CAP_BUTT,Gdk::JOIN_MITER);
-               drawing_area->get_window()->draw_rectangle(
-                       gc,
-                       false,  // Fill?
-                       0,0,    // x,y
-                       
drawing_area->get_width()-1,drawing_area->get_height()-1); // w,h
+        Cairo::RefPtr<Cairo::Context> cr = 
drawing_area->get_window()->create_cairo_context();
+        cr->save();
+
+        cr->set_source_rgb(1,0,0);
+               cr->set_line_cap(Cairo::LINE_CAP_BUTT);
+               cr->set_line_join(Cairo::LINE_JOIN_MITER);
+               cr->set_antialias(Cairo::ANTIALIAS_NONE);
+
+        cr->rectangle(
+            0,0, // x,y
+                       drawing_area->get_width(),drawing_area->get_height() 
//w,h
+            );
+        cr->stroke();
+        cr->restore();
 #endif
        }
 #ifdef USE_FRAME_BACKGROUND_TO_SHOW_EDIT_MODE


------------------------------------------------------------------------------
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software 
be a part of the solution? Download the Intel(R) Manageability Checker 
today! http://p.sf.net/sfu/intel-dev2devmar
_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to