]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/minifram.cpp
Added support for saving greyscale TIFF images.
[wxWidgets.git] / src / gtk1 / minifram.cpp
index 0e4b631ce135e429b0614f00e5b0cb3fce0dc50b..9014e2cd50b71b6097243b53147f627c1ca947e7 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        minifram.cpp
+// Name:        src/gtk1/minifram.cpp
 // Purpose:
 // Author:      Robert Roebling
 // Id:          $Id$
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
-#include "wx/minifram.h"
-
 #if wxUSE_MINIFRAME
 
-#include "wx/dcscreen.h"
+#include "wx/minifram.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/dcscreen.h"
+#endif
 
 #include "gtk/gtk.h"
-#include "wx/gtk/win_gtk.h"
-#include "wx/gtk/private.h"
+#include "wx/dcclient.h"
+#include "wx/gtk1/win_gtk.h"
+#include "wx/gtk1/private.h"
+#include "wx/gtk1/dcclient.h"
 
 #include <gdk/gdk.h>
 #include <gdk/gdkprivate.h>
@@ -82,15 +86,14 @@ static void gtk_window_own_expose_callback( GtkWidget *widget, GdkEventExpose *g
                      0, 0,
                      win->m_width, win->m_height );
 
-    if (!win->GetTitle().IsEmpty() &&
+    if (!win->GetTitle().empty() &&
         ((win->GetWindowStyle() & wxCAPTION) ||
-         (win->GetWindowStyle() & wxTINY_CAPTION_HORIZ) ||
-         (win->GetWindowStyle() & wxTINY_CAPTION_VERT)))
+         (win->GetWindowStyle() & wxTINY_CAPTION)))
     {
         wxClientDC dc(win);
         dc.SetFont( *wxSMALL_FONT );
         int height = dc.GetCharHeight();
-        
+
         GdkGC *gc = gdk_gc_new( pizza->bin_window );
         gdk_gc_set_foreground( gc, &widget->style->bg[GTK_STATE_SELECTED] );
         gdk_draw_rectangle( pizza->bin_window, gc, TRUE,
@@ -101,7 +104,7 @@ static void gtk_window_own_expose_callback( GtkWidget *widget, GdkEventExpose *g
         gdk_gc_unref( gc );
 
         // Hack alert
-        dc.m_window = pizza->bin_window;
+        static_cast<wxClientDCImpl *>(dc.GetImpl())->m_window = pizza->bin_window;
         dc.SetTextForeground( *wxWHITE );
         dc.DrawText( win->GetTitle(), 6, 3 );
     }
@@ -112,7 +115,6 @@ static void gtk_window_own_expose_callback( GtkWidget *widget, GdkEventExpose *g
 // "draw" of m_mainWidget
 //-----------------------------------------------------------------------------
 
-#ifndef __WXGTK20__
 extern "C" {
 static void gtk_window_own_draw_callback( GtkWidget *widget, GdkRectangle *WXUNUSED(rect), wxFrame *win )
 {
@@ -129,15 +131,14 @@ static void gtk_window_own_draw_callback( GtkWidget *widget, GdkRectangle *WXUNU
                      0, 0,
                      win->m_width, win->m_height );
 
-    if (!win->m_title.IsEmpty() &&
+    if (!win->GetTitle().empty() &&
         ((win->GetWindowStyle() & wxCAPTION) ||
-         (win->GetWindowStyle() & wxTINY_CAPTION_HORIZ) ||
-         (win->GetWindowStyle() & wxTINY_CAPTION_VERT)))
+         (win->GetWindowStyle() & wxTINY_CAPTION)))
     {
         wxClientDC dc(win);
         dc.SetFont( *wxSMALL_FONT );
         int height = dc.GetCharHeight();
-        
+
         GdkGC *gc = gdk_gc_new( pizza->bin_window );
         gdk_gc_set_foreground( gc, &widget->style->bg[GTK_STATE_SELECTED] );
         gdk_draw_rectangle( pizza->bin_window, gc, TRUE,
@@ -148,13 +149,12 @@ static void gtk_window_own_draw_callback( GtkWidget *widget, GdkRectangle *WXUNU
         gdk_gc_unref( gc );
 
         // Hack alert
-        dc.m_window = pizza->bin_window;
+        static_cast<wxClientDCImpl *>(dc.GetImpl())->m_window = pizza->bin_window;
         dc.SetTextForeground( *wxWHITE );
         dc.DrawText( win->GetTitle(), 6, 3 );
     }
 }
 }
-#endif
 
 //-----------------------------------------------------------------------------
 // "button_press_event" of m_mainWidget
@@ -177,9 +177,9 @@ static gint gtk_window_button_press_callback( GtkWidget *widget, GdkEventButton
     wxClientDC dc(win);
     dc.SetFont( *wxSMALL_FONT );
     int height = dc.GetCharHeight() + 1;
-    
+
     if (gdk_event->y > height) return TRUE;
-        
+
     gdk_window_raise( win->m_widget->window );
 
     gdk_pointer_grab( widget->window, FALSE,
@@ -190,8 +190,8 @@ static gint gtk_window_button_press_callback( GtkWidget *widget, GdkEventButton
                           GDK_POINTER_MOTION_HINT_MASK  |
                           GDK_BUTTON_MOTION_MASK        |
                           GDK_BUTTON1_MOTION_MASK),
-                      (GdkWindow *) NULL,
-                      (GdkCursor *) NULL,
+                      NULL,
+                      NULL,
                       (unsigned int) GDK_CURRENT_TIME );
 
     win->m_diffX = (int)gdk_event->x;
@@ -200,7 +200,7 @@ static gint gtk_window_button_press_callback( GtkWidget *widget, GdkEventButton
     win->m_oldX = 0;
     win->m_oldY = 0;
 
-    win->m_isDragging = TRUE;
+    win->m_isDragging = true;
 
     return TRUE;
 }
@@ -221,7 +221,7 @@ static gint gtk_window_button_release_callback( GtkWidget *widget, GdkEventButto
 
     if (!win->m_isDragging) return TRUE;
 
-    win->m_isDragging = FALSE;
+    win->m_isDragging = false;
 
     int x = (int)gdk_event->x;
     int y = (int)gdk_event->y;
@@ -328,11 +328,11 @@ bool wxMiniFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title
 {
     style = style | wxCAPTION;
 
-    if ((style & wxCAPTION) || (style & wxTINY_CAPTION_HORIZ) || (style & wxTINY_CAPTION_VERT))
+    if ((style & wxCAPTION) || (style & wxTINY_CAPTION))
         m_miniTitle = 13;
 
     m_miniEdge = 3;
-    m_isDragging = FALSE;
+    m_isDragging = false;
     m_oldX = -1;
     m_oldY = -1;
     m_diffX = 0;
@@ -344,11 +344,11 @@ bool wxMiniFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title
     {
         gtk_window_set_transient_for( GTK_WINDOW(m_widget), GTK_WINDOW(m_parent->m_widget) );
     }
-    
+
     if ((style & wxSYSTEM_MENU) &&
-        ((style & wxCAPTION) || (style & wxTINY_CAPTION_HORIZ) || (style & wxTINY_CAPTION_VERT)))
+        ((style & wxCAPTION) || (style & wxTINY_CAPTION)))
     {
-        GdkBitmap *mask = (GdkBitmap*) NULL;
+        GdkBitmap *mask = NULL;
         GdkPixmap *pixmap = gdk_pixmap_create_from_xpm_d
                             (
                                 wxGetRootWindow()->window,
@@ -379,10 +379,8 @@ bool wxMiniFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title
     gtk_signal_connect( GTK_OBJECT(m_mainWidget), "expose_event",
         GTK_SIGNAL_FUNC(gtk_window_own_expose_callback), (gpointer)this );
 
-#ifndef __WXGTK20__
     gtk_signal_connect( GTK_OBJECT(m_mainWidget), "draw",
        GTK_SIGNAL_FUNC(gtk_window_own_draw_callback), (gpointer)this );
-#endif
 
     /* these are required for dragging the mini frame around */
     gtk_signal_connect( GTK_OBJECT(m_mainWidget), "button_press_event",
@@ -394,18 +392,14 @@ bool wxMiniFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title
     gtk_signal_connect( GTK_OBJECT(m_mainWidget), "motion_notify_event",
       GTK_SIGNAL_FUNC(gtk_window_motion_notify_callback), (gpointer)this );
 
-    return TRUE;
+    return true;
 }
 
 void wxMiniFrame::SetTitle( const wxString &title )
 {
     wxFrame::SetTitle( title );
-    
-#ifdef __WXGTK20__
-    gdk_window_invalidate_rect( GTK_PIZZA(m_mainWidget)->bin_window, NULL, true );
-#else
-    gtk_widget_draw( m_mainWidget, (GdkRectangle*) NULL );
-#endif
+
+    gtk_widget_draw( m_mainWidget, NULL );
 }
 
-#endif
+#endif // wxUSE_MINIFRAME