summaryrefslogtreecommitdiff
path: root/vcl/unx/gtk
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@suse.com>2012-01-14 23:25:55 +0000
committerMichael Meeks <michael.meeks@suse.com>2012-01-16 09:28:29 +0000
commit8d151e0e55e1945bc5f633dc916372a3ea27a16d (patch)
tree96a6a50329fd6b6b57cc1e266d16b8464d4b8b2a /vcl/unx/gtk
parenta5247645b4d133056ded317b1ed0e9e590afcf4d (diff)
vcl: introduce crystal clear separation between X11 Screens and DisplayScreens
A DisplayScreen is a screen index as used by the upper level abstractions, an X11Screen is a wrapper around an integer X screen index.
Diffstat (limited to 'vcl/unx/gtk')
-rw-r--r--vcl/unx/gtk/app/gtkdata.cxx34
-rw-r--r--vcl/unx/gtk/app/gtksys.cxx28
-rw-r--r--vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx554
-rw-r--r--vcl/unx/gtk/window/gtkframe.cxx72
-rw-r--r--vcl/unx/gtk/window/gtkobject.cxx8
5 files changed, 363 insertions, 333 deletions
diff --git a/vcl/unx/gtk/app/gtkdata.cxx b/vcl/unx/gtk/app/gtkdata.cxx
index 66e6b4ae1b19..3685d1156110 100644
--- a/vcl/unx/gtk/app/gtkdata.cxx
+++ b/vcl/unx/gtk/app/gtkdata.cxx
@@ -218,49 +218,41 @@ void GtkSalDisplay::monitorsChanged( GdkScreen* pScreen )
emitDisplayChanged();
}
-void GtkSalDisplay::initScreen( int nScreen ) const
+#if !GTK_CHECK_VERSION(3,0,0)
+SalDisplay::ScreenData *
+GtkSalDisplay::initScreen( SalX11Screen nXScreen ) const
{
-#if GTK_CHECK_VERSION(3,0,0)
- // No implementation needed for gt3k: no colormaps handling
- // or need to init screens ...
- (void)nScreen;
-#else
- if( nScreen < 0 || nScreen >= static_cast<int>(m_aScreens.size()) )
- nScreen = m_nDefaultScreen;
- ScreenData& rSD = const_cast<ScreenData&>(m_aScreens[nScreen]);
- if( rSD.m_bInit )
- return;
-
// choose visual for screen
- SalDisplay::initScreen( nScreen );
+ ScreenData *pSD;
+ if (!(pSD = SalDisplay::initScreen( nXScreen )))
+ return NULL;
// now set a gdk default colormap matching the chosen visual to the screen
- GdkScreen* pScreen = gdk_display_get_screen( m_pGdkDisplay, nScreen );
+ GdkScreen* pScreen = gdk_display_get_screen( m_pGdkDisplay, nXScreen.getXScreen() );
// should really use this:
-// GdkVisual* pVis = gdk_x11_screen_lookup_visual_get( screen, rSD.m_aVisual.visualid );
+// GdkVisual* pVis = gdk_x11_screen_lookup_visual_get( screen, pSD->m_aVisual.visualid );
// and not this:
- GdkVisual* pVis = gdkx_visual_get( rSD.m_aVisual.visualid );
+ GdkVisual* pVis = gdkx_visual_get( pSD->m_aVisual.visualid );
if( pVis )
{
GdkColormap* pDefCol = gdk_screen_get_default_colormap( pScreen );
GdkVisual* pDefVis = gdk_colormap_get_visual( pDefCol );
if( pDefVis != pVis )
{
- pDefCol = gdk_x11_colormap_foreign_new( pVis, rSD.m_aColormap.GetXColormap() );
+ pDefCol = gdk_x11_colormap_foreign_new( pVis, pSD->m_aColormap.GetXColormap() );
gdk_screen_set_default_colormap( pScreen, pDefCol );
#if OSL_DEBUG_LEVEL > 1
- fprintf( stderr, "set new gdk color map for screen %d\n", nScreen );
+ fprintf( stderr, "set new gdk color map for screen %d\n", nXScreen.getXScreen() );
#endif
}
}
#if OSL_DEBUG_LEVEL > 1
else
- fprintf( stderr, "not GdkVisual for visual id %d\n", (int)rSD.m_aVisual.visualid );
+ fprintf( stderr, "not GdkVisual for visual id %d\n", (int)pSD->m_aVisual.visualid );
#endif
-#endif
+ return pSD;
}
-#if !GTK_CHECK_VERSION(3,0,0)
long GtkSalDisplay::Dispatch( XEvent* pEvent )
{
if( GetDisplay() == pEvent->xany.display )
diff --git a/vcl/unx/gtk/app/gtksys.cxx b/vcl/unx/gtk/app/gtksys.cxx
index 9ce1671d28f5..6690d5f0b70e 100644
--- a/vcl/unx/gtk/app/gtksys.cxx
+++ b/vcl/unx/gtk/app/gtksys.cxx
@@ -56,6 +56,34 @@ GtkSalSystem::~GtkSalSystem()
{
}
+int
+GtkSalSystem::GetDisplayXScreenCount()
+{
+ return gdk_display_get_n_screens (mpDisplay);
+}
+
+// Including gdkx.h kills us with the Window / XWindow conflict
+extern "C" {
+ GType gdk_x11_display_get_type (void);
+ int gdk_x11_screen_get_screen_number (GdkScreen *screen);
+}
+
+SalX11Screen
+GtkSalSystem::getXScreenFromDisplayScreen(unsigned int nScreen)
+{
+ gint nMonitor;
+ GdkScreen *pScreen = NULL;
+
+ pScreen = getScreenMonitorFromIdx (mpDisplay, nScreen, nMonitor);
+ if (!pScreen)
+ return SalX11Screen (0);
+#if GTK_CHECK_VERSION(3,0,0)
+ if (!G_TYPE_CHECK_INSTANCE_TYPE (mpDisplay, gdk_x11_display_get_type ()))
+ return SalX11Screen (0);
+#endif
+ return SalX11Screen (gdk_x11_screen_get_screen_number (pScreen));
+}
+
GdkScreen *
GtkSalSystem::getScreenMonitorFromIdx (GdkDisplay *pDisplay, int nIdx, gint &nMonitor)
{
diff --git a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
index d064f8328d43..686c7846f85e 100644
--- a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
@@ -60,7 +60,8 @@ GtkSalGraphics::GtkSalGraphics( GtkSalFrame *pFrame, GtkWidget *pWindow )
m_aClipRegion( REGION_NULL )
{
Init( pFrame, GDK_WINDOW_XID( widget_get_window( pWindow ) ),
- gdk_x11_screen_get_screen_number( gtk_widget_get_screen( pWindow ) ) );
+ SalX11Screen( gdk_x11_screen_get_screen_number(
+ gtk_widget_get_screen( pWindow ) ) ) );
}
GtkSalGraphics::~GtkSalGraphics()
@@ -159,7 +160,14 @@ struct NWFWidgetData
// easily and quickly reset each to a default state before using
// them
static boost::unordered_map<long, guint> gWidgetDefaultFlags;
-static std::vector<NWFWidgetData> gWidgetData;
+class WidgetDataVector : public std::vector<NWFWidgetData>
+{
+public:
+ WidgetDataVector(size_t nElems = 0) : std::vector<NWFWidgetData>( nElems ) {}
+ NWFWidgetData &operator [](size_t i) { return at(i); }
+ NWFWidgetData &operator [](const SalX11Screen &s) { return at(s.getXScreen()); }
+};
+static WidgetDataVector gWidgetData;
static const GtkBorder aDefDefBorder = { 1, 1, 1, 1 };
@@ -169,27 +177,27 @@ static const GtkBorder aDefDefBorder = { 1, 1, 1, 1 };
#define MIN_SPIN_ARROW_WIDTH 6
-static void NWEnsureGTKRadio ( int nScreen );
-static void NWEnsureGTKButton ( int nScreen );
-static void NWEnsureGTKCheck ( int nScreen );
-static void NWEnsureGTKScrollbars ( int nScreen );
-static void NWEnsureGTKArrow ( int nScreen );
-static void NWEnsureGTKEditBox ( int nScreen );
-static void NWEnsureGTKSpinButton ( int nScreen );
-static void NWEnsureGTKNotebook ( int nScreen );
-static void NWEnsureGTKOptionMenu ( int nScreen );
-static void NWEnsureGTKCombo ( int nScreen );
-static void NWEnsureGTKScrolledWindow ( int nScreen );
-static void NWEnsureGTKToolbar ( int nScreen );
-static void NWEnsureGTKMenubar ( int nScreen );
-static void NWEnsureGTKMenu ( int nScreen );
-static void NWEnsureGTKTooltip ( int nScreen );
-static void NWEnsureGTKProgressBar ( int nScreen );
-static void NWEnsureGTKTreeView ( int nScreen );
-static void NWEnsureGTKSlider ( int nScreen );
+static void NWEnsureGTKRadio ( SalX11Screen nScreen );
+static void NWEnsureGTKButton ( SalX11Screen nScreen );
+static void NWEnsureGTKCheck ( SalX11Screen nScreen );
+static void NWEnsureGTKScrollbars ( SalX11Screen nScreen );
+static void NWEnsureGTKArrow ( SalX11Screen nScreen );
+static void NWEnsureGTKEditBox ( SalX11Screen nScreen );
+static void NWEnsureGTKSpinButton ( SalX11Screen nScreen );
+static void NWEnsureGTKNotebook ( SalX11Screen nScreen );
+static void NWEnsureGTKOptionMenu ( SalX11Screen nScreen );
+static void NWEnsureGTKCombo ( SalX11Screen nScreen );
+static void NWEnsureGTKScrolledWindow ( SalX11Screen nScreen );
+static void NWEnsureGTKToolbar ( SalX11Screen nScreen );
+static void NWEnsureGTKMenubar ( SalX11Screen nScreen );
+static void NWEnsureGTKMenu ( SalX11Screen nScreen );
+static void NWEnsureGTKTooltip ( SalX11Screen nScreen );
+static void NWEnsureGTKProgressBar ( SalX11Screen nScreen );
+static void NWEnsureGTKTreeView ( SalX11Screen nScreen );
+static void NWEnsureGTKSlider ( SalX11Screen nScreen );
static void NWConvertVCLStateToGTKState( ControlState nVCLState, GtkStateType* nGTKState, GtkShadowType* nGTKShadow );
-static void NWAddWidgetToCacheWindow( GtkWidget* widget, int nScreen );
+static void NWAddWidgetToCacheWindow( GtkWidget* widget, SalX11Screen nScreen );
static void NWSetWidgetState( GtkWidget* widget, ControlState nState, GtkStateType nGtkState );
static void NWCalcArrowRect( const Rectangle& rButton, Rectangle& rArrow );
@@ -200,37 +208,37 @@ static void NWCalcArrowRect( const Rectangle& rButton, Rectangle& rArrow );
*/
//---
-static Rectangle NWGetButtonArea( int nScreen, ControlType nType, ControlPart nPart, Rectangle aAreaRect, ControlState nState,
+static Rectangle NWGetButtonArea( SalX11Screen nScreen, ControlType nType, ControlPart nPart, Rectangle aAreaRect, ControlState nState,
const ImplControlValue& aValue, const OUString& rCaption );
//---
-static Rectangle NWGetEditBoxPixmapRect( int nScreen, ControlType nType, ControlPart nPart, Rectangle aAreaRect, ControlState nState,
+static Rectangle NWGetEditBoxPixmapRect( SalX11Screen nScreen, ControlType nType, ControlPart nPart, Rectangle aAreaRect, ControlState nState,
const ImplControlValue& aValue, const OUString& rCaption );
-static void NWPaintOneEditBox( int nScreen, GdkDrawable * gdkDrawable, GdkRectangle *gdkRect,
+static void NWPaintOneEditBox( SalX11Screen nScreen, GdkDrawable * gdkDrawable, GdkRectangle *gdkRect,
ControlType nType, ControlPart nPart, Rectangle aEditBoxRect,
ControlState nState, const ImplControlValue& aValue,
const OUString& rCaption );
//---
-static Rectangle NWGetSpinButtonRect( int nScreen, ControlType nType, ControlPart nPart, Rectangle aAreaRect, ControlState nState,
+static Rectangle NWGetSpinButtonRect( SalX11Screen nScreen, ControlType nType, ControlPart nPart, Rectangle aAreaRect, ControlState nState,
const ImplControlValue& aValue, const OUString& rCaption );
-static void NWPaintOneSpinButton( int nScreen, GdkPixmap * pixmap, ControlType nType, ControlPart nPart, Rectangle aAreaRect,
+static void NWPaintOneSpinButton( SalX11Screen nScreen, GdkPixmap * pixmap, ControlType nType, ControlPart nPart, Rectangle aAreaRect,
ControlState nState, const ImplControlValue& aValue,
const OUString& rCaption );
//---
-static Rectangle NWGetComboBoxButtonRect( int nScreen, ControlType nType, ControlPart nPart, Rectangle aAreaRect, ControlState nState,
+static Rectangle NWGetComboBoxButtonRect( SalX11Screen nScreen, ControlType nType, ControlPart nPart, Rectangle aAreaRect, ControlState nState,
const ImplControlValue& aValue, const OUString& rCaption );
//---
-static Rectangle NWGetListBoxButtonRect( int nScreen, ControlType nType, ControlPart nPart, Rectangle aAreaRect, ControlState nState,
+static Rectangle NWGetListBoxButtonRect( SalX11Screen nScreen, ControlType nType, ControlPart nPart, Rectangle aAreaRect, ControlState nState,
const ImplControlValue& aValue, const OUString& rCaption );
-static Rectangle NWGetListBoxIndicatorRect( int nScreen, ControlType nType, ControlPart nPart, Rectangle aAreaRect, ControlState nState,
+static Rectangle NWGetListBoxIndicatorRect( SalX11Screen nScreen, ControlType nType, ControlPart nPart, Rectangle aAreaRect, ControlState nState,
const ImplControlValue& aValue, const OUString& rCaption );
-static Rectangle NWGetToolbarRect( int nScreen,
+static Rectangle NWGetToolbarRect( SalX11Screen nScreen,
ControlType nType,
ControlPart nPart,
Rectangle aAreaRect,
@@ -239,7 +247,7 @@ static Rectangle NWGetToolbarRect( int nScreen,
const OUString& rCaption );
//---
-static Rectangle NWGetScrollButtonRect( int nScreen, ControlPart nPart, Rectangle aAreaRect );
+static Rectangle NWGetScrollButtonRect( SalX11Screen nScreen, ControlPart nPart, Rectangle aAreaRect );
//---
/*********************************************************
@@ -272,7 +280,7 @@ class NWPixmapCache
int m_screen;
NWPixmapCacheData* pData;
public:
- NWPixmapCache( int nScreen );
+ NWPixmapCache( SalX11Screen nScreen );
~NWPixmapCache();
void SetSize( int n)
@@ -309,11 +317,11 @@ void NWPixmapCacheData::SetPixmap( GdkPixmap* pPixmap )
}
-NWPixmapCache::NWPixmapCache( int nScreen )
+NWPixmapCache::NWPixmapCache( SalX11Screen nScreen )
{
m_idx = 0;
m_size = 0;
- m_screen = nScreen;
+ m_screen = nScreen.getXScreen();
pData = NULL;
if( gWidgetData[m_screen].gNWPixmapCacheList )
gWidgetData[m_screen].gNWPixmapCacheList->AddCache(this);
@@ -421,13 +429,13 @@ void GtkData::initNWF( void )
// omit GetNativeControl while painting (see brdwin.cxx)
pSVData->maNWFData.mbCanDrawWidgetAnySize = true;
- int nScreens = GetGenericData()->GetSalDisplay()->GetScreenCount();
- gWidgetData = std::vector<NWFWidgetData>( nScreens );
+ int nScreens = GetGtkSalData()->GetGtkDisplay()->GetXScreenCount();
+ gWidgetData = WidgetDataVector( nScreens );
for( int i = 0; i < nScreens; i++ )
gWidgetData[i].gNWPixmapCacheList = new NWPixmapCacheList;
// small extra border around menu items
- NWEnsureGTKMenu( 0 );
+ NWEnsureGTKMenu( SalX11Screen( 0 ) );
gint horizontal_padding = 1;
gtk_widget_style_get( gWidgetData[0].gMenuItemMenuWidget,
"horizontal_padding", &horizontal_padding,
@@ -437,7 +445,7 @@ void GtkData::initNWF( void )
if( SalGetDesktopEnvironment().equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("KDE")) )
{
// #i97196# ensure a widget exists and the style engine was loaded
- NWEnsureGTKButton( 0 );
+ NWEnsureGTKButton( SalX11Screen( 0 ) );
if( g_type_from_name( "QtEngineStyle" ) )
{
// KDE 3.3 invented a bug in the qt<->gtk theme engine
@@ -632,7 +640,7 @@ sal_Bool GtkSalGraphics::hitTestNativeControl( ControlType nType,
( nPart == PART_BUTTON_LEFT ) ||
( nPart == PART_BUTTON_RIGHT ) ) )
{
- NWEnsureGTKScrollbars( m_nScreen );
+ NWEnsureGTKScrollbars( m_nXScreen );
// Grab some button style attributes
gboolean has_forward;
@@ -640,10 +648,12 @@ sal_Bool GtkSalGraphics::hitTestNativeControl( ControlType nType,
gboolean has_backward;
gboolean has_backward2;
- gtk_widget_style_get( gWidgetData[m_nScreen].gScrollHorizWidget, "has-forward-stepper", &has_forward,
- "has-secondary-forward-stepper", &has_forward2,
- "has-backward-stepper", &has_backward,
- "has-secondary-backward-stepper", &has_backward2, (char *)NULL );
+ gtk_widget_style_get( gWidgetData[m_nXScreen].gScrollHorizWidget,
+ "has-forward-stepper", &has_forward,
+ "has-secondary-forward-stepper", &has_forward2,
+ "has-backward-stepper", &has_backward,
+ "has-secondary-backward-stepper", &has_backward2,
+ (char *)NULL );
Rectangle aForward;
Rectangle aBackward;
@@ -659,8 +669,8 @@ sal_Bool GtkSalGraphics::hitTestNativeControl( ControlType nType,
else if ( nPart == PART_BUTTON_RIGHT )
nCounterPart = PART_BUTTON_LEFT;
- aBackward = NWGetScrollButtonRect( m_nScreen, nPart, rControlRegion );
- aForward = NWGetScrollButtonRect( m_nScreen, nCounterPart, rControlRegion );
+ aBackward = NWGetScrollButtonRect( m_nXScreen, nPart, rControlRegion );
+ aForward = NWGetScrollButtonRect( m_nXScreen, nCounterPart, rControlRegion );
if ( has_backward && has_forward2 )
{
@@ -945,7 +955,7 @@ sal_Bool GtkSalGraphics::getNativeControlRegion( ControlType nType,
&& (rControlRegion.GetWidth() > 16)
&& (rControlRegion.GetHeight() > 16) )
{
- rNativeBoundingRegion = NWGetButtonArea( m_nScreen, nType, nPart, rControlRegion,
+ rNativeBoundingRegion = NWGetButtonArea( m_nXScreen, nType, nPart, rControlRegion,
nState, aValue, rCaption );
rNativeContentRegion = rControlRegion;
@@ -953,7 +963,7 @@ sal_Bool GtkSalGraphics::getNativeControlRegion( ControlType nType,
}
if ( (nType==CTRL_COMBOBOX) && ((nPart==PART_BUTTON_DOWN) || (nPart==PART_SUB_EDIT)) )
{
- rNativeBoundingRegion = NWGetComboBoxButtonRect( m_nScreen, nType, nPart, rControlRegion, nState,
+ rNativeBoundingRegion = NWGetComboBoxButtonRect( m_nXScreen, nType, nPart, rControlRegion, nState,
aValue, rCaption );
rNativeContentRegion = rNativeBoundingRegion;
@@ -962,7 +972,7 @@ sal_Bool GtkSalGraphics::getNativeControlRegion( ControlType nType,
if ( (nType==CTRL_SPINBOX) && ((nPart==PART_BUTTON_UP) || (nPart==PART_BUTTON_DOWN) || (nPart==PART_SUB_EDIT)) )
{
- rNativeBoundingRegion = NWGetSpinButtonRect( m_nScreen, nType, nPart, rControlRegion, nState,
+ rNativeBoundingRegion = NWGetSpinButtonRect( m_nXScreen, nType, nPart, rControlRegion, nState,
aValue, rCaption );
rNativeContentRegion = rNativeBoundingRegion;
@@ -970,7 +980,7 @@ sal_Bool GtkSalGraphics::getNativeControlRegion( ControlType nType,
}
if ( (nType==CTRL_LISTBOX) && ((nPart==PART_BUTTON_DOWN) || (nPart==PART_SUB_EDIT)) )
{
- rNativeBoundingRegion = NWGetListBoxButtonRect( m_nScreen, nType, nPart, rControlRegion, nState,
+ rNativeBoundingRegion = NWGetListBoxButtonRect( m_nXScreen, nType, nPart, rControlRegion, nState,
aValue, rCaption );
rNativeContentRegion = rNativeBoundingRegion;
@@ -984,14 +994,14 @@ sal_Bool GtkSalGraphics::getNativeControlRegion( ControlType nType,
(nPart==PART_BUTTON)
))
{
- rNativeBoundingRegion = NWGetToolbarRect( m_nScreen, nType, nPart, rControlRegion, nState, aValue, rCaption );
+ rNativeBoundingRegion = NWGetToolbarRect( m_nXScreen, nType, nPart, rControlRegion, nState, aValue, rCaption );
rNativeContentRegion = rNativeBoundingRegion;
returnVal = sal_True;
}
if ( (nType==CTRL_SCROLLBAR) && ((nPart==PART_BUTTON_LEFT) || (nPart==PART_BUTTON_RIGHT) ||
(nPart==PART_BUTTON_UP) || (nPart==PART_BUTTON_DOWN) ) )
{
- rNativeBoundingRegion = NWGetScrollButtonRect( m_nScreen, nPart, rControlRegion );
+ rNativeBoundingRegion = NWGetScrollButtonRect( m_nXScreen, nPart, rControlRegion );
rNativeContentRegion = rNativeBoundingRegion;
//See fdo#33523, possibly makes sense to do this test for all return values
@@ -1003,9 +1013,9 @@ sal_Bool GtkSalGraphics::getNativeControlRegion( ControlType nType,
}
if( (nType == CTRL_MENUBAR) && (nPart == PART_ENTIRE_CONTROL) )
{
- NWEnsureGTKMenubar( m_nScreen );
+ NWEnsureGTKMenubar( m_nXScreen );
GtkRequisition aReq;
- gtk_widget_size_request( gWidgetData[m_nScreen].gMenubarWidget, &aReq );
+ gtk_widget_size_request( gWidgetData[m_nXScreen].gMenubarWidget, &aReq );
Rectangle aMenuBarRect = rControlRegion;
aMenuBarRect = Rectangle( aMenuBarRect.TopLeft(),
Size( aMenuBarRect.GetWidth(), aReq.height+1 ) );
@@ -1018,11 +1028,11 @@ sal_Bool GtkSalGraphics::getNativeControlRegion( ControlType nType,
if( (nPart == PART_MENU_ITEM_CHECK_MARK) ||
(nPart == PART_MENU_ITEM_RADIO_MARK) )
{
- NWEnsureGTKMenu( m_nScreen );
+ NWEnsureGTKMenu( m_nXScreen );
gint indicator_size = 0;
GtkWidget* pWidget = (nPart == PART_MENU_ITEM_CHECK_MARK) ?
- gWidgetData[m_nScreen].gMenuItemCheckMenuWidget : gWidgetData[m_nScreen].gMenuItemRadioMenuWidget;
+ gWidgetData[m_nXScreen].gMenuItemCheckMenuWidget : gWidgetData[m_nXScreen].gMenuItemRadioMenuWidget;
gtk_widget_style_get( pWidget,
"indicator_size", &indicator_size,
(char *)NULL );
@@ -1035,7 +1045,7 @@ sal_Bool GtkSalGraphics::getNativeControlRegion( ControlType nType,
}
else if( nPart == PART_MENU_SUBMENU_ARROW )
{
- GtkWidget* widget = gWidgetData[m_nScreen].gMenuItemMenuWidget;
+ GtkWidget* widget = gWidgetData[m_nXScreen].gMenuItemMenuWidget;
GtkWidget* child;
PangoContext *context;
PangoFontMetrics *metrics;
@@ -1072,9 +1082,9 @@ sal_Bool GtkSalGraphics::getNativeControlRegion( ControlType nType,
}
if( (nType == CTRL_RADIOBUTTON || nType == CTRL_CHECKBOX) )
{
- NWEnsureGTKRadio( m_nScreen );
- NWEnsureGTKCheck( m_nScreen );
- GtkWidget* widget = (nType == CTRL_RADIOBUTTON) ? gWidgetData[m_nScreen].gRadioWidget : gWidgetData[m_nScreen].gCheckWidget;
+ NWEnsureGTKRadio( m_nXScreen );
+ NWEnsureGTKCheck( m_nXScreen );
+ GtkWidget* widget = (nType == CTRL_RADIOBUTTON) ? gWidgetData[m_nXScreen].gRadioWidget : gWidgetData[m_nXScreen].gCheckWidget;
gint indicator_size, indicator_spacing;
gtk_widget_style_get( widget,
"indicator_size", &indicator_size,
@@ -1090,8 +1100,8 @@ sal_Bool GtkSalGraphics::getNativeControlRegion( ControlType nType,
}
if( (nType == CTRL_EDITBOX || nType == CTRL_SPINBOX) && nPart == PART_ENTIRE_CONTROL )
{
- NWEnsureGTKEditBox( m_nScreen );
- GtkWidget* widget = gWidgetData[m_nScreen].gEditBoxWidget;
+ NWEnsureGTKEditBox( m_nXScreen );
+ GtkWidget* widget = gWidgetData[m_nXScreen].gEditBoxWidget;
GtkRequisition aReq;
gtk_widget_size_request( widget, &aReq );
Rectangle aEditRect = rControlRegion;
@@ -1104,8 +1114,8 @@ sal_Bool GtkSalGraphics::getNativeControlRegion( ControlType nType,
}
if( (nType == CTRL_SLIDER) && (nPart == PART_THUMB_HORZ || nPart == PART_THUMB_VERT) )
{
- NWEnsureGTKSlider( m_nScreen );
- GtkWidget* widget = (nPart == PART_THUMB_HORZ) ? gWidgetData[m_nScreen].gHScale : gWidgetData[m_nScreen].gVScale;
+ NWEnsureGTKSlider( m_nXScreen );
+ GtkWidget* widget = (nPart == PART_THUMB_HORZ) ? gWidgetData[m_nXScreen].gHScale : gWidgetData[m_nXScreen].gVScale;
gint slider_length = 10;
gint slider_width = 10;
gtk_widget_style_get( widget,
@@ -1154,10 +1164,10 @@ sal_Bool GtkSalGraphics::NWPaintGTKButtonReal(
GtkBorder* pBorder;
GdkRectangle clipRect;
- NWEnsureGTKButton( m_nScreen );
- NWEnsureGTKToolbar( m_nScreen );
+ NWEnsureGTKButton( m_nXScreen );
+ NWEnsureGTKToolbar( m_nXScreen );
NWConvertVCLStateToGTKState( nState, &stateType, &shadowType );
- NWSetWidgetState( gWidgetData[m_nScreen].gBtnWidget, nState, stateType );
+ NWSetWidgetState( gWidgetData[m_nXScreen].gBtnWidget, nState, stateType );
x = rControlRectangle.Left();
y = rControlRectangle.Top();
@@ -1167,7 +1177,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKButtonReal(
gint internal_padding = 0;
if(GTK_IS_TOOL_ITEM(button))
{
- gtk_widget_style_get (GTK_WIDGET (gWidgetData[m_nScreen].gToolbarWidget),
+ gtk_widget_style_get (GTK_WIDGET (gWidgetData[m_nXScreen].gToolbarWidget),
"internal-padding", &internal_padding,
NULL);
x += internal_padding/2;
@@ -1176,11 +1186,11 @@ sal_Bool GtkSalGraphics::NWPaintGTKButtonReal(
}
// Grab some button style attributes
- gtk_widget_style_get( gWidgetData[m_nScreen].gBtnWidget, "focus-line-width", &focusWidth,
+ gtk_widget_style_get( gWidgetData[m_nXScreen].gBtnWidget, "focus-line-width", &focusWidth,
"focus-padding", &focusPad,
"interior_focus", &interiorFocus,
(char *)NULL );
- gtk_widget_style_get( gWidgetData[m_nScreen].gBtnWidget,
+ gtk_widget_style_get( gWidgetData[m_nXScreen].gBtnWidget,
"default_border", &pBorder,
(char *)NULL );
@@ -1220,10 +1230,10 @@ sal_Bool GtkSalGraphics::NWPaintGTKButtonReal(
clipRect.height = it->GetHeight();
// Buttons must paint opaque since some themes have alpha-channel enabled buttons
- if(button == gWidgetData[m_nScreen].gToolbarButtonWidget)
+ if(button == gWidgetData[m_nXScreen].gToolbarButtonWidget)
{
- gtk_paint_box( gWidgetData[m_nScreen].gToolbarWidget->style, gdkDrawable, GTK_STATE_NORMAL, GTK_SHADOW_NONE,
- &clipRect, gWidgetData[m_nScreen].gToolbarWidget, "toolbar", x, y, w, h );
+ gtk_paint_box( gWidgetData[m_nXScreen].gToolbarWidget->style, gdkDrawable, GTK_STATE_NORMAL, GTK_SHADOW_NONE,
+ &clipRect, gWidgetData[m_nXScreen].gToolbarWidget, "toolbar", x, y, w, h );
}
else
{
@@ -1239,8 +1249,8 @@ sal_Bool GtkSalGraphics::NWPaintGTKButtonReal(
/* don't draw "button", because it can be a tool_button, and
* it causes some weird things, so, the default button is
* just fine */
- gtk_paint_box( gWidgetData[m_nScreen].gBtnWidget->style, gdkDrawable, stateType, shadowType,
- &clipRect, gWidgetData[m_nScreen].gBtnWidget, "button", xi, yi, wi, hi );
+ gtk_paint_box( gWidgetData[m_nXScreen].gBtnWidget->style, gdkDrawable, stateType, shadowType,
+ &clipRect, gWidgetData[m_nXScreen].gBtnWidget, "button", xi, yi, wi, hi );
}
return( sal_True );
@@ -1255,7 +1265,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKButton(
const OUString& string)
{
return NWPaintGTKButtonReal(
- gWidgetData[m_nScreen].gBtnWidget,
+ gWidgetData[m_nXScreen].gBtnWidget,
gdkDrawable,
type, part,
rControlRectangle,
@@ -1264,7 +1274,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKButton(
string );
}
-static Rectangle NWGetButtonArea( int nScreen,
+static Rectangle NWGetButtonArea( SalX11Screen nScreen,
ControlType, ControlPart, Rectangle aAreaRect, ControlState nState,
const ImplControlValue&, const OUString& )
{
@@ -1331,20 +1341,20 @@ sal_Bool GtkSalGraphics::NWPaintGTKRadio( GdkDrawable* gdkDrawable,
gint x, y;
GdkRectangle clipRect;
- NWEnsureGTKButton( m_nScreen );
- NWEnsureGTKRadio( m_nScreen );
+ NWEnsureGTKButton( m_nXScreen );
+ NWEnsureGTKRadio( m_nXScreen );
NWConvertVCLStateToGTKState( nState, &stateType, &shadowType );
gint indicator_size;
- gtk_widget_style_get( gWidgetData[m_nScreen].gRadioWidget, "indicator_size", &indicator_size, (char *)NULL);
+ gtk_widget_style_get( gWidgetData[m_nXScreen].gRadioWidget, "indicator_size", &indicator_size, (char *)NULL);
x = rControlRectangle.Left() + (rControlRectangle.GetWidth()-indicator_size)/2;
y = rControlRectangle.Top() + (rControlRectangle.GetHeight()-indicator_size)/2;
// Set the shadow based on if checked or not so we get a freakin checkmark.
shadowType = isChecked ? GTK_SHADOW_IN : GTK_SHADOW_OUT;
- NWSetWidgetState( gWidgetData[m_nScreen].gRadioWidget, nState, stateType );
- NWSetWidgetState( gWidgetData[m_nScreen].gRadioWidgetSibling, nState, stateType );
+ NWSetWidgetState( gWidgetData[m_nXScreen].gRadioWidget, nState, stateType );
+ NWSetWidgetState( gWidgetData[m_nXScreen].gRadioWidgetSibling, nState, stateType );
// GTK enforces radio groups, so that if we don't have 2 buttons in the group,
// the single button will always be active. So we have to have 2 buttons.
@@ -1355,8 +1365,8 @@ sal_Bool GtkSalGraphics::NWPaintGTKRadio( GdkDrawable* gdkDrawable,
// intermediate states between active/inactive. Let's hope that
// GtkToggleButtone stays binary compatible.
if (!isChecked)
- GTK_TOGGLE_BUTTON(gWidgetData[m_nScreen].gRadioWidgetSibling)->active = sal_True;
- GTK_TOGGLE_BUTTON(gWidgetData[m_nScreen].gRadioWidget)->active = isChecked;
+ GTK_TOGGLE_BUTTON(gWidgetData[m_nXScreen].gRadioWidgetSibling)->active = sal_True;
+ GTK_TOGGLE_BUTTON(gWidgetData[m_nXScreen].gRadioWidget)->active = isChecked;
for( clipList::const_iterator it = rClipList.begin(); it != rClipList.end(); ++it )
{
@@ -1365,8 +1375,8 @@ sal_Bool GtkSalGraphics::NWPaintGTKRadio( GdkDrawable* gdkDrawable,
clipRect.width = it->GetWidth();
clipRect.height = it->GetHeight();
- gtk_paint_option( gWidgetData[m_nScreen].gRadioWidget->style, gdkDrawable, stateType, shadowType,
- &clipRect, gWidgetData[m_nScreen].gRadioWidget, "radiobutton",
+ gtk_paint_option( gWidgetData[m_nXScreen].gRadioWidget->style, gdkDrawable, stateType, shadowType,
+ &clipRect, gWidgetData[m_nXScreen].gRadioWidget, "radiobutton",
x, y, indicator_size, indicator_size );
}
@@ -1390,20 +1400,20 @@ sal_Bool GtkSalGraphics::NWPaintGTKCheck( GdkDrawable* gdkDrawable,
GdkRectangle clipRect;
gint x,y;
- NWEnsureGTKButton( m_nScreen );
- NWEnsureGTKCheck( m_nScreen );
+ NWEnsureGTKButton( m_nXScreen );
+ NWEnsureGTKCheck( m_nXScreen );
NWConvertVCLStateToGTKState( nState, &stateType, &shadowType );
gint indicator_size;
- gtk_widget_style_get( gWidgetData[m_nScreen].gCheckWidget, "indicator_size", &indicator_size, (char *)NULL);
+ gtk_widget_style_get( gWidgetData[m_nXScreen].gCheckWidget, "indicator_size", &indicator_size, (char *)NULL);
x = rControlRectangle.Left() + (rControlRectangle.GetWidth()-indicator_size)/2;
y = rControlRectangle.Top() + (rControlRectangle.GetHeight()-indicator_size)/2;
// Set the shadow based on if checked or not so we get a checkmark.
shadowType = isChecked ? GTK_SHADOW_IN : isInconsistent ? GTK_SHADOW_ETCHED_IN : GTK_SHADOW_OUT;
- NWSetWidgetState( gWidgetData[m_nScreen].gCheckWidget, nState, stateType );
- GTK_TOGGLE_BUTTON(gWidgetData[m_nScreen].gCheckWidget)->active = isChecked;
+ NWSetWidgetState( gWidgetData[m_nXScreen].gCheckWidget, nState, stateType );
+ GTK_TOGGLE_BUTTON(gWidgetData[m_nXScreen].gCheckWidget)->active = isChecked;
for( clipList::const_iterator it = rClipList.begin(); it != rClipList.end(); ++it )
{
@@ -1412,8 +1422,8 @@ sal_Bool GtkSalGraphics::NWPaintGTKCheck( GdkDrawable* gdkDrawable,
clipRect.width = it->GetWidth();
clipRect.height = it->GetHeight();
- gtk_paint_check( gWidgetData[m_nScreen].gCheckWidget->style, gdkDrawable, stateType, shadowType,
- &clipRect, gWidgetData[m_nScreen].gCheckWidget, "checkbutton",
+ gtk_paint_check( gWidgetData[m_nXScreen].gCheckWidget->style, gdkDrawable, stateType, shadowType,
+ &clipRect, gWidgetData[m_nXScreen].gCheckWidget, "checkbutton",
x, y, indicator_size, indicator_size );
}
@@ -1477,9 +1487,9 @@ sal_Bool GtkSalGraphics::NWPaintGTKScrollbar( ControlType, ControlPart nPart,
button12BoundRect.Move( -rControlRectangle.Left(), -rControlRectangle.Top() );
button21BoundRect.Move( -rControlRectangle.Left(), -rControlRectangle.Top() );
- NWEnsureGTKButton( m_nScreen );
- NWEnsureGTKScrollbars( m_nScreen );
- NWEnsureGTKArrow( m_nScreen );
+ NWEnsureGTKButton( m_nXScreen );
+ NWEnsureGTKScrollbars( m_nXScreen );
+ NWEnsureGTKArrow( m_nXScreen );
// Find the overall bounding rect of the control
pixmapRect = rControlRectangle;
@@ -1491,7 +1501,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKScrollbar( ControlType, ControlPart nPart,
return( sal_True );
// Grab some button style attributes
- gtk_widget_style_get( gWidgetData[m_nScreen].gScrollHorizWidget,
+ gtk_widget_style_get( gWidgetData[m_nXScreen].gScrollHorizWidget,
"slider_width", &slider_width,
"stepper_size", &stepper_size,
"trough_border", &trough_border,
@@ -1502,7 +1512,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKScrollbar( ControlType, ControlPart nPart,
gboolean has_backward;
gboolean has_backward2;
- gtk_widget_style_get( gWidgetData[m_nScreen].gScrollHorizWidget, "has-forward-stepper", &has_forward,
+ gtk_widget_style_get( gWidgetData[m_nXScreen].gScrollHorizWidget, "has-forward-stepper", &has_forward,
"has-secondary-forward-stepper", &has_forward2,
"has-backward-stepper", &has_backward,
"has-secondary-backward-stepper", &has_backward2, (char *)NULL );
@@ -1520,7 +1530,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKScrollbar( ControlType, ControlPart nPart,
scrollbarRect.Move( 0, vShim );
scrollbarRect.SetSize( Size( scrollbarRect.GetWidth(), sliderHeight ) );
- scrollbarWidget = GTK_SCROLLBAR( gWidgetData[m_nScreen].gScrollHorizWidget );
+ scrollbarWidget = GTK_SCROLLBAR( gWidgetData[m_nXScreen].gScrollHorizWidget );
scrollbarOrientation = GTK_ORIENTATION_HORIZONTAL;
scrollbarTag = scrollbarTagH;
button1Type = GTK_ARROW_LEFT;
@@ -1565,7 +1575,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKScrollbar( ControlType, ControlPart nPart,
scrollbarRect.Move( hShim, 0 );
scrollbarRect.SetSize( Size( sliderWidth, scrollbarRect.GetHeight() ) );
- scrollbarWidget = GTK_SCROLLBAR( gWidgetData[m_nScreen].gScrollVertWidget );
+ scrollbarWidget = GTK_SCROLLBAR( gWidgetData[m_nXScreen].gScrollVertWidget );
scrollbarOrientation = GTK_ORIENTATION_VERTICAL;
scrollbarTag = scrollbarTagV;
button1Type = GTK_ARROW_UP;
@@ -1636,7 +1646,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKScrollbar( ControlType, ControlPart nPart,
NWConvertVCLStateToGTKState( nState, &stateType, &shadowType );
NWSetWidgetState( GTK_WIDGET(scrollbarWidget), nState, stateType );
- NWSetWidgetState( gWidgetData[m_nScreen].gBtnWidget, nState, stateType );
+ NWSetWidgetState( gWidgetData[m_nXScreen].gBtnWidget, nState, stateType );
style = GTK_WIDGET( scrollbarWidget )->style;
gtk_style_apply_default_background( m_pWindow->style, gdkDrawable, TRUE,
@@ -1746,7 +1756,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKScrollbar( ControlType, ControlPart nPart,
//---
-static Rectangle NWGetScrollButtonRect( int nScreen, ControlPart nPart, Rectangle aAreaRect )
+static Rectangle NWGetScrollButtonRect( SalX11Screen nScreen, ControlPart nPart, Rectangle aAreaRect )
{
gint slider_width;
gint stepper_size;
@@ -1842,7 +1852,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKEditBox( GdkDrawable* gdkDrawable,
// Find the overall bounding rect of the buttons's drawing area,
// plus its actual draw rect excluding adornment
- pixmapRect = NWGetEditBoxPixmapRect( m_nScreen, nType, nPart, rControlRectangle,
+ pixmapRect = NWGetEditBoxPixmapRect( m_nXScreen, nType, nPart, rControlRectangle,
nState, aValue, rCaption );
for( clipList::const_iterator it = rClipList.begin(); it != rClipList.end(); ++it )
{
@@ -1851,7 +1861,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKEditBox( GdkDrawable* gdkDrawable,
clipRect.width = it->GetWidth();
clipRect.height = it->GetHeight();
- NWPaintOneEditBox( m_nScreen, gdkDrawable, &clipRect, nType, nPart, pixmapRect, nState, aValue, rCaption );
+ NWPaintOneEditBox( m_nXScreen, gdkDrawable, &clipRect, nType, nPart, pixmapRect, nState, aValue, rCaption );
}
return( sal_True );
@@ -1862,7 +1872,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKEditBox( GdkDrawable* gdkDrawable,
* the bounding rectangle of the edit box including
* any focus requirements.
*/
-static Rectangle NWGetEditBoxPixmapRect(int nScreen,
+static Rectangle NWGetEditBoxPixmapRect(SalX11Screen nScreen,
ControlType,
ControlPart,
Rectangle aAreaRect,
@@ -1896,7 +1906,7 @@ static Rectangle NWGetEditBoxPixmapRect(int nScreen,
* All coordinates should be local to the Pixmap, NOT
* screen/window coordinates.
*/
-static void NWPaintOneEditBox( int nScreen,
+static void NWPaintOneEditBox( SalX11Screen nScreen,
GdkDrawable * gdkDrawable,
GdkRectangle * gdkRect,
ControlType nType,
@@ -1985,9 +1995,9 @@ sal_Bool GtkSalGraphics::NWPaintGTKSpinBox( ControlType nType, ControlPart nPart
ControlPart downBtnPart = PART_BUTTON_DOWN;
ControlState downBtnState = CTRL_STATE_ENABLED;
- NWEnsureGTKButton( m_nScreen );
- NWEnsureGTKSpinButton( m_nScreen );
- NWEnsureGTKArrow( m_nScreen );
+ NWEnsureGTKButton( m_nXScreen );
+ NWEnsureGTKSpinButton( m_nXScreen );
+ NWEnsureGTKArrow( m_nXScreen );
NWConvertVCLStateToGTKState( nState, &stateType, &shadowType );
@@ -2019,8 +2029,8 @@ sal_Bool GtkSalGraphics::NWPaintGTKSpinBox( ControlType nType, ControlPart nPart
if ( !pixmap )
return( sal_False );
- upBtnRect = NWGetSpinButtonRect( m_nScreen, nType, upBtnPart, pixmapRect, upBtnState, aValue, rCaption );
- downBtnRect = NWGetSpinButtonRect( m_nScreen, nType, downBtnPart, pixmapRect, downBtnState, aValue, rCaption );
+ upBtnRect = NWGetSpinButtonRect( m_nXScreen, nType, upBtnPart, pixmapRect, upBtnState, aValue, rCaption );
+ downBtnRect = NWGetSpinButtonRect( m_nXScreen, nType, downBtnPart, pixmapRect, downBtnState, aValue, rCaption );
if ( (nType==CTRL_SPINBOX) && (nPart!=PART_ALL_BUTTONS) )
{
@@ -2033,25 +2043,25 @@ sal_Bool GtkSalGraphics::NWPaintGTKSpinBox( ControlType nType, ControlPart nPart
aEditBoxRect.setX( 0 );
aEditBoxRect.setY( 0 );
- NWPaintOneEditBox( m_nScreen, pixmap, NULL, nType, nPart, aEditBoxRect, nState, aValue, rCaption );
+ NWPaintOneEditBox( m_nXScreen, pixmap, NULL, nType, nPart, aEditBoxRect, nState, aValue, rCaption );
}
- NWSetWidgetState( gWidgetData[m_nScreen].gSpinButtonWidget, nState, stateType );
- gtk_widget_style_get( gWidgetData[m_nScreen].gSpinButtonWidget, "shadow_type", &shadowType, (char *)NULL );
+ NWSetWidgetState( gWidgetData[m_nXScreen].gSpinButtonWidget, nState, stateType );
+ gtk_widget_style_get( gWidgetData[m_nXScreen].gSpinButtonWidget, "shadow_type", &shadowType, (char *)NULL );
if ( shadowType != GTK_SHADOW_NONE )
{
Rectangle shadowRect( upBtnRect );
shadowRect.Union( downBtnRect );
- gtk_paint_box( gWidgetData[m_nScreen].gSpinButtonWidget->style, pixmap, GTK_STATE_NORMAL, shadowType, NULL,
- gWidgetData[m_nScreen].gSpinButtonWidget, "spinbutton",
+ gtk_paint_box( gWidgetData[m_nXScreen].gSpinButtonWidget->style, pixmap, GTK_STATE_NORMAL, shadowType, NULL,
+ gWidgetData[m_nXScreen].gSpinButtonWidget, "spinbutton",
(shadowRect.Left() - pixmapRect.Left()), (shadowRect.Top() - pixmapRect.Top()),
shadowRect.GetWidth(), shadowRect.GetHeight() );
}
- NWPaintOneSpinButton( m_nScreen, pixmap, nType, upBtnPart, pixmapRect, upBtnState, aValue, rCaption );
- NWPaintOneSpinButton( m_nScreen, pixmap, nType, downBtnPart, pixmapRect, downBtnState, aValue, rCaption );
+ NWPaintOneSpinButton( m_nXScreen, pixmap, nType, upBtnPart, pixmapRect, upBtnState, aValue, rCaption );
+ NWPaintOneSpinButton( m_nXScreen, pixmap, nType, downBtnPart, pixmapRect, downBtnState, aValue, rCaption );
if( !NWRenderPixmapToScreen(pixmap, pixmapRect) )
{
@@ -2065,7 +2075,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKSpinBox( ControlType nType, ControlPart nPart
//---
-static Rectangle NWGetSpinButtonRect( int nScreen,
+static Rectangle NWGetSpinButtonRect( SalX11Screen nScreen,
ControlType,
ControlPart nPart,
Rectangle aAreaRect,
@@ -2115,7 +2125,7 @@ static Rectangle NWGetSpinButtonRect( int nScreen,
//---
-static void NWPaintOneSpinButton( int nScreen,
+static void NWPaintOneSpinButton( SalX11Screen nScreen,
GdkPixmap* pixmap,
ControlType nType,
ControlPart nPart,
@@ -2175,9 +2185,9 @@ sal_Bool GtkSalGraphics::NWPaintGTKComboBox( GdkDrawable* gdkDrawable,
gint x,y;
GdkRectangle clipRect;
- NWEnsureGTKButton( m_nScreen );
- NWEnsureGTKArrow( m_nScreen );
- NWEnsureGTKCombo( m_nScreen );
+ NWEnsureGTKButton( m_nXScreen );
+ NWEnsureGTKArrow( m_nXScreen );
+ NWEnsureGTKCombo( m_nXScreen );
NWConvertVCLStateToGTKState( nState, &stateType, &shadowType );
// Find the overall bounding rect of the buttons's drawing area,
@@ -2186,11 +2196,11 @@ sal_Bool GtkSalGraphics::NWPaintGTKComboBox( GdkDrawable* gdkDrawable,
x = rControlRectangle.Left();
y = rControlRectangle.Top();
- NWSetWidgetState( gWidgetData[m_nScreen].gBtnWidget, nState, stateType );
- NWSetWidgetState( gWidgetData[m_nScreen].gComboWidget, nState, stateType );
- NWSetWidgetState( gWidgetData[m_nScreen].gArrowWidget, nState, stateType );
+ NWSetWidgetState( gWidgetData[m_nXScreen].gBtnWidget, nState, stateType );
+ NWSetWidgetState( gWidgetData[m_nXScreen].gComboWidget, nState, stateType );
+ NWSetWidgetState( gWidgetData[m_nXScreen].gArrowWidget, nState, stateType );
- buttonRect = NWGetComboBoxButtonRect( m_nScreen, nType, PART_BUTTON_DOWN, pixmapRect, nState, aValue, rCaption );
+ buttonRect = NWGetComboBoxButtonRect( m_nXScreen, nType, PART_BUTTON_DOWN, pixmapRect, nState, aValue, rCaption );
if( nPart == PART_BUTTON_DOWN )
buttonRect.Left() += 1;
@@ -2213,7 +2223,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKComboBox( GdkDrawable* gdkDrawable,
clipRect.height = it->GetHeight();
if( nPart == PART_ENTIRE_CONTROL )
- NWPaintOneEditBox( m_nScreen, gdkDrawable, &clipRect, nType, nPart, aEditBoxRect,
+ NWPaintOneEditBox( m_nXScreen, gdkDrawable, &clipRect, nType, nPart, aEditBoxRect,
nState, aValue, rCaption );
// Buttons must paint opaque since some themes have alpha-channel enabled buttons
@@ -2222,14 +2232,14 @@ sal_Bool GtkSalGraphics::NWPaintGTKComboBox( GdkDrawable* gdkDrawable,
x+(buttonRect.Left() - pixmapRect.Left()),
y+(buttonRect.Top() - pixmapRect.Top()),
buttonRect.GetWidth(), buttonRect.GetHeight() );
- gtk_paint_box( GTK_COMBO(gWidgetData[m_nScreen].gComboWidget)->button->style, gdkDrawable, stateType, shadowType,
- &clipRect, GTK_COMBO(gWidgetData[m_nScreen].gComboWidget)->button, "button",
+ gtk_paint_box( GTK_COMBO(gWidgetData[m_nXScreen].gComboWidget)->button->style, gdkDrawable, stateType, shadowType,
+ &clipRect, GTK_COMBO(gWidgetData[m_nXScreen].gComboWidget)->button, "button",
x+(buttonRect.Left() - pixmapRect.Left()),
y+(buttonRect.Top() - pixmapRect.Top()),
buttonRect.GetWidth(), buttonRect.GetHeight() );
- gtk_paint_arrow( gWidgetData[m_nScreen].gArrowWidget->style, gdkDrawable, stateType, shadowType,
- &clipRect, gWidgetData[m_nScreen].gArrowWidget, "arrow", GTK_ARROW_DOWN, sal_True,
+ gtk_paint_arrow( gWidgetData[m_nXScreen].gArrowWidget->style, gdkDrawable, stateType, shadowType,
+ &clipRect, gWidgetData[m_nXScreen].gArrowWidget, "arrow", GTK_ARROW_DOWN, sal_True,
x+(arrowRect.Left() - pixmapRect.Left()), y+(arrowRect.Top() - pixmapRect.Top()),
arrowRect.GetWidth(), arrowRect.GetHeight() );
}
@@ -2239,7 +2249,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKComboBox( GdkDrawable* gdkDrawable,
//----
-static Rectangle NWGetComboBoxButtonRect( int nScreen,
+static Rectangle NWGetComboBoxButtonRect( SalX11Screen nScreen,
ControlType,
ControlPart nPart,
Rectangle aAreaRect,
@@ -2312,13 +2322,13 @@ sal_Bool GtkSalGraphics::NWPaintGTKTabItem( ControlType nType, ControlPart,
Rectangle tabRect;
GtkStateType stateType;
GtkShadowType shadowType;
- if( ! gWidgetData[ m_nScreen ].gCacheTabItems )
+ if( ! gWidgetData[ m_nXScreen ].gCacheTabItems )
{
- gWidgetData[ m_nScreen ].gCacheTabItems = new NWPixmapCache( m_nScreen );
- gWidgetData[ m_nScreen ].gCacheTabPages = new NWPixmapCache( m_nScreen );
+ gWidgetData[ m_nXScreen ].gCacheTabItems = new NWPixmapCache( m_nXScreen );
+ gWidgetData[ m_nXScreen ].gCacheTabPages = new NWPixmapCache( m_nXScreen );
}
- NWPixmapCache& aCacheItems = *gWidgetData[ m_nScreen ].gCacheTabItems;
- NWPixmapCache& aCachePage = *gWidgetData[ m_nScreen ].gCacheTabPages;
+ NWPixmapCache& aCacheItems = *gWidgetData[ m_nXScreen ].gCacheTabItems;
+ NWPixmapCache& aCachePage = *gWidgetData[ m_nXScreen ].gCacheTabPages;
if( !aCacheItems.GetSize() )
aCacheItems.SetSize( 20 );
@@ -2330,8 +2340,8 @@ sal_Bool GtkSalGraphics::NWPaintGTKTabItem( ControlType nType, ControlPart,
return( false );
}
- NWEnsureGTKButton( m_nScreen );
- NWEnsureGTKNotebook( m_nScreen );
+ NWEnsureGTKButton( m_nXScreen );
+ NWEnsureGTKNotebook( m_nXScreen );
NWConvertVCLStateToGTKState( nState, &stateType, &shadowType );
// Find the overall bounding rect of the buttons's drawing area,
@@ -2380,7 +2390,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKTabItem( ControlType nType, ControlPart,
}
pixmap = gdk_pixmap_new( NULL, pixmapRect.GetWidth(), pixmapRect.GetHeight(),
- GetGenericData()->GetSalDisplay()->GetVisual( m_nScreen ).GetDepth() );
+ GetGenericData()->GetSalDisplay()->GetVisual( m_nXScreen ).GetDepth() );
GdkRectangle paintRect;
paintRect.x = paintRect.y = 0;
paintRect.width = pixmapRect.GetWidth();
@@ -2389,7 +2399,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKTabItem( ControlType nType, ControlPart,
gtk_paint_flat_box( m_pWindow->style, pixmap, GTK_STATE_NORMAL,
GTK_SHADOW_NONE, &paintRect, m_pWindow, "base", 0, 0, -1, -1);
- NWSetWidgetState( gWidgetData[m_nScreen].gNotebookWidget, nState, stateType );
+ NWSetWidgetState( gWidgetData[m_nXScreen].gNotebookWidget, nState, stateType );
switch( nType )
{
@@ -2398,14 +2408,14 @@ sal_Bool GtkSalGraphics::NWPaintGTKTabItem( ControlType nType, ControlPart,
case CTRL_FIXEDBORDER:
case CTRL_TAB_PANE:
- gtk_paint_box_gap( gWidgetData[m_nScreen].gNotebookWidget->style, pixmap, GTK_STATE_NORMAL, GTK_SHADOW_OUT, NULL, gWidgetData[m_nScreen].gNotebookWidget,
+ gtk_paint_box_gap( gWidgetData[m_nXScreen].gNotebookWidget->style, pixmap, GTK_STATE_NORMAL, GTK_SHADOW_OUT, NULL, gWidgetData[m_nXScreen].gNotebookWidget,
(char *)"notebook", 0, 0, pixmapRect.GetWidth(), pixmapRect.GetHeight(), GTK_POS_TOP, 0, 0 );
break;
case CTRL_TAB_ITEM:
stateType = ( nState & CTRL_STATE_SELECTED ) ? GTK_STATE_NORMAL : GTK_STATE_ACTIVE;
- gtk_paint_extension( gWidgetData[m_nScreen].gNotebookWidget->style, pixmap, stateType, GTK_SHADOW_OUT, NULL, gWidgetData[m_nScreen].gNotebookWidget,
+ gtk_paint_extension( gWidgetData[m_nXScreen].gNotebookWidget->style, pixmap, stateType, GTK_SHADOW_OUT, NULL, gWidgetData[m_nXScreen].gNotebookWidget,
(char *)"tab", (tabRect.Left() - pixmapRect.Left()), (tabRect.Top() - pixmapRect.Top()),
tabRect.GetWidth(), tabRect.GetHeight(), GTK_POS_BOTTOM );
@@ -2456,9 +2466,9 @@ sal_Bool GtkSalGraphics::NWPaintGTKListBox( GdkDrawable* gdkDrawable,
gint x,y;
GdkRectangle clipRect;
- NWEnsureGTKButton( m_nScreen );
- NWEnsureGTKOptionMenu( m_nScreen );
- NWEnsureGTKScrolledWindow( m_nScreen );
+ NWEnsureGTKButton( m_nXScreen );
+ NWEnsureGTKOptionMenu( m_nXScreen );
+ NWEnsureGTKScrolledWindow( m_nXScreen );
NWConvertVCLStateToGTKState( nState, &stateType, &shadowType );
// Find the overall bounding rect of the buttons's drawing area,
@@ -2478,13 +2488,13 @@ sal_Bool GtkSalGraphics::NWPaintGTKListBox( GdkDrawable* gdkDrawable,
y = pixmapRect.Top();
// set up references to correct drawable and cliprect
- NWSetWidgetState( gWidgetData[m_nScreen].gBtnWidget, nState, stateType );
- NWSetWidgetState( gWidgetData[m_nScreen].gOptionMenuWidget, nState, stateType );
- NWSetWidgetState( gWidgetData[m_nScreen].gScrolledWindowWidget, nState, stateType );
+ NWSetWidgetState( gWidgetData[m_nXScreen].gBtnWidget, nState, stateType );
+ NWSetWidgetState( gWidgetData[m_nXScreen].gOptionMenuWidget, nState, stateType );
+ NWSetWidgetState( gWidgetData[m_nXScreen].gScrolledWindowWidget, nState, stateType );
if ( nPart != PART_WINDOW )
{
- gtk_widget_style_get( gWidgetData[m_nScreen].gOptionMenuWidget,
+ gtk_widget_style_get( gWidgetData[m_nXScreen].gOptionMenuWidget,
"interior_focus", &bInteriorFocus,
"focus_line_width", &nFocusLineWidth,
"focus_padding", &nFocusPadding,
@@ -2504,15 +2514,15 @@ sal_Bool GtkSalGraphics::NWPaintGTKListBox( GdkDrawable* gdkDrawable,
gtk_paint_flat_box( m_pWindow->style, gdkDrawable, GTK_STATE_NORMAL, GTK_SHADOW_NONE,
&clipRect, m_pWindow, "base", x, y,
pixmapRect.GetWidth(), pixmapRect.GetHeight() );
- gtk_paint_box( gWidgetData[m_nScreen].gOptionMenuWidget->style, gdkDrawable, stateType, shadowType, &clipRect,
- gWidgetData[m_nScreen].gOptionMenuWidget, "optionmenu",
+ gtk_paint_box( gWidgetData[m_nXScreen].gOptionMenuWidget->style, gdkDrawable, stateType, shadowType, &clipRect,
+ gWidgetData[m_nXScreen].gOptionMenuWidget, "optionmenu",
x+(widgetRect.Left() - pixmapRect.Left()),
y+(widgetRect.Top() - pixmapRect.Top()),
widgetRect.GetWidth(), widgetRect.GetHeight() );
- aIndicatorRect = NWGetListBoxIndicatorRect( m_nScreen, nType, nPart, widgetRect, nState,
+ aIndicatorRect = NWGetListBoxIndicatorRect( m_nXScreen, nType, nPart, widgetRect, nState,
aValue, rCaption );
- gtk_paint_tab( gWidgetData[m_nScreen].gOptionMenuWidget->style, gdkDrawable, stateType, shadowType, &clipRect,
- gWidgetData[m_nScreen].gOptionMenuWidget, "optionmenutab",
+ gtk_paint_tab( gWidgetData[m_nXScreen].gOptionMenuWidget->style, gdkDrawable, stateType, shadowType, &clipRect,
+ gWidgetData[m_nXScreen].gOptionMenuWidget, "optionmenutab",
x+(aIndicatorRect.Left() - pixmapRect.Left()),
y+(aIndicatorRect.Top() - pixmapRect.Top()),
aIndicatorRect.GetWidth(), aIndicatorRect.GetHeight() );
@@ -2521,8 +2531,8 @@ sal_Bool GtkSalGraphics::NWPaintGTKListBox( GdkDrawable* gdkDrawable,
{
shadowType = GTK_SHADOW_IN;
- gtk_paint_shadow( gWidgetData[m_nScreen].gScrolledWindowWidget->style, gdkDrawable, GTK_STATE_NORMAL, shadowType,
- &clipRect, gWidgetData[m_nScreen].gScrolledWindowWidget, "scrolled_window",
+ gtk_paint_shadow( gWidgetData[m_nXScreen].gScrolledWindowWidget->style, gdkDrawable, GTK_STATE_NORMAL, shadowType,
+ &clipRect, gWidgetData[m_nXScreen].gScrolledWindowWidget, "scrolled_window",
x+(widgetRect.Left() - pixmapRect.Left()), y+(widgetRect.Top() - pixmapRect.Top()),
widgetRect.GetWidth(), widgetRect.GetHeight() );
}
@@ -2544,10 +2554,10 @@ sal_Bool GtkSalGraphics::NWPaintGTKToolbar(
gint x, y, w, h;
gint g_x=0, g_y=0, g_w=10, g_h=10;
bool bPaintButton = true;
- GtkWidget* pButtonWidget = gWidgetData[m_nScreen].gToolbarButtonWidget;
+ GtkWidget* pButtonWidget = gWidgetData[m_nXScreen].gToolbarButtonWidget;
GdkRectangle clipRect;
- NWEnsureGTKToolbar( m_nScreen );
+ NWEnsureGTKToolbar( m_nXScreen );
if( nPart == PART_BUTTON ) // toolbar buttons cannot focus in gtk
nState &= ~CTRL_STATE_FOCUSED;
NWConvertVCLStateToGTKState( nState, &stateType, &shadowType );
@@ -2560,27 +2570,27 @@ sal_Bool GtkSalGraphics::NWPaintGTKToolbar(
// handle toolbar
if( nPart == PART_DRAW_BACKGROUND_HORZ || nPart == PART_DRAW_BACKGROUND_VERT )
{
- NWSetWidgetState( gWidgetData[m_nScreen].gToolbarWidget, nState, stateType );
+ NWSetWidgetState( gWidgetData[m_nXScreen].gToolbarWidget, nState, stateType );
- GTK_WIDGET_UNSET_FLAGS( gWidgetData[m_nScreen].gToolbarWidget, GTK_SENSITIVE );
+ GTK_WIDGET_UNSET_FLAGS( gWidgetData[m_nXScreen].gToolbarWidget, GTK_SENSITIVE );
if ( nState & CTRL_STATE_ENABLED )
- GTK_WIDGET_SET_FLAGS( gWidgetData[m_nScreen].gToolbarWidget, GTK_SENSITIVE );
+ GTK_WIDGET_SET_FLAGS( gWidgetData[m_nXScreen].gToolbarWidget, GTK_SENSITIVE );
if( nPart == PART_DRAW_BACKGROUND_HORZ )
- gtk_toolbar_set_orientation( GTK_TOOLBAR(gWidgetData[m_nScreen].gToolbarWidget), GTK_ORIENTATION_HORIZONTAL );
+ gtk_toolbar_set_orientation( GTK_TOOLBAR(gWidgetData[m_nXScreen].gToolbarWidget), GTK_ORIENTATION_HORIZONTAL );
else
- gtk_toolbar_set_orientation( GTK_TOOLBAR(gWidgetData[m_nScreen].gToolbarWidget), GTK_ORIENTATION_VERTICAL );
+ gtk_toolbar_set_orientation( GTK_TOOLBAR(gWidgetData[m_nXScreen].gToolbarWidget), GTK_ORIENTATION_VERTICAL );
}
// handle grip
else if( nPart == PART_THUMB_HORZ || nPart == PART_THUMB_VERT )
{
- NWSetWidgetState( gWidgetData[m_nScreen].gHandleBoxWidget, nState, stateType );
+ NWSetWidgetState( gWidgetData[m_nXScreen].gHandleBoxWidget, nState, stateType );
- GTK_WIDGET_UNSET_FLAGS( gWidgetData[m_nScreen].gHandleBoxWidget, GTK_SENSITIVE );
+ GTK_WIDGET_UNSET_FLAGS( gWidgetData[m_nXScreen].gHandleBoxWidget, GTK_SENSITIVE );
if ( nState & CTRL_STATE_ENABLED )
- GTK_WIDGET_SET_FLAGS( gWidgetData[m_nScreen].gHandleBoxWidget, GTK_SENSITIVE );
+ GTK_WIDGET_SET_FLAGS( gWidgetData[m_nXScreen].gHandleBoxWidget, GTK_SENSITIVE );
- gtk_handle_box_set_shadow_type( GTK_HANDLE_BOX(gWidgetData[m_nScreen].gHandleBoxWidget), shadowType );
+ gtk_handle_box_set_shadow_type( GTK_HANDLE_BOX(gWidgetData[m_nXScreen].gHandleBoxWidget), shadowType );
// evaluate grip rect
if( aValue.getType() == CTRL_TOOLBAR )
@@ -2624,32 +2634,32 @@ sal_Bool GtkSalGraphics::NWPaintGTKToolbar(
// draw toolbar
if( nPart == PART_DRAW_BACKGROUND_HORZ || nPart == PART_DRAW_BACKGROUND_VERT )
{
- gtk_paint_flat_box( gWidgetData[m_nScreen].gToolbarWidget->style,
+ gtk_paint_flat_box( gWidgetData[m_nXScreen].gToolbarWidget->style,
gdkDrawable,
(GtkStateType)GTK_STATE_NORMAL,
GTK_SHADOW_NONE,
&clipRect,
- gWidgetData[m_nScreen].gToolbarWidget,
+ gWidgetData[m_nXScreen].gToolbarWidget,
"base",
x, y, w, h );
- gtk_paint_box( gWidgetData[m_nScreen].gToolbarWidget->style,
+ gtk_paint_box( gWidgetData[m_nXScreen].gToolbarWidget->style,
gdkDrawable,
stateType,
shadowType,
&clipRect,
- gWidgetData[m_nScreen].gToolbarWidget,
+ gWidgetData[m_nXScreen].gToolbarWidget,
"toolbar",
x, y, w, h );
}
// draw grip
else if( nPart == PART_THUMB_HORZ || nPart == PART_THUMB_VERT )
{
- gtk_paint_handle( gWidgetData[m_nScreen].gHandleBoxWidget->style,
+ gtk_paint_handle( gWidgetData[m_nXScreen].gHandleBoxWidget->style,
gdkDrawable,
GTK_STATE_NORMAL,
GTK_SHADOW_OUT,
&clipRect,
- gWidgetData[m_nScreen].gHandleBoxWidget,
+ gWidgetData[m_nXScreen].gHandleBoxWidget,
"handlebox",
g_x, g_y, g_w, g_h,
nPart == PART_THUMB_HORZ ?
@@ -2661,23 +2671,23 @@ sal_Bool GtkSalGraphics::NWPaintGTKToolbar(
{
gint separator_height, separator_width, wide_separators;
- gtk_widget_style_get (gWidgetData[m_nScreen].gVSeparator,
+ gtk_widget_style_get (gWidgetData[m_nXScreen].gVSeparator,
"wide-separators", &wide_separators,
"separator-width", &separator_width,
"separator-height", &separator_height,
NULL);
if (wide_separators)
- gtk_paint_box (gWidgetData[m_nScreen].gVSeparator->style, gdkDrawable,
+ gtk_paint_box (gWidgetData[m_nXScreen].gVSeparator->style, gdkDrawable,
GTK_STATE_NORMAL, GTK_SHADOW_ETCHED_OUT,
- &clipRect, gWidgetData[m_nScreen].gVSeparator, "vseparator",
+ &clipRect, gWidgetData[m_nXScreen].gVSeparator, "vseparator",
x + (w - separator_width) / 2,
y + 7,
separator_width,
h - 14);
else
- gtk_paint_vline (gWidgetData[m_nScreen].gVSeparator->style, gdkDrawable,
+ gtk_paint_vline (gWidgetData[m_nXScreen].gVSeparator->style, gdkDrawable,
GTK_STATE_NORMAL,
- &clipRect, gWidgetData[m_nScreen].gVSeparator, "vseparator",
+ &clipRect, gWidgetData[m_nXScreen].gVSeparator, "vseparator",
y + 7,
y + h - 7,
x + w/2 - 1);
@@ -2704,7 +2714,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKMenubar(
gint x, y, w, h;
GdkRectangle clipRect;
- NWEnsureGTKMenubar( m_nScreen );
+ NWEnsureGTKMenubar( m_nXScreen );
NWConvertVCLStateToGTKState( nState, &stateType, &shadowType );
x = rControlRectangle.Left();
@@ -2716,7 +2726,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKMenubar(
{
if( nState & (CTRL_STATE_SELECTED|CTRL_STATE_ROLLOVER) )
{
- gtk_widget_style_get( gWidgetData[m_nScreen].gMenuItemMenubarWidget,
+ gtk_widget_style_get( gWidgetData[m_nXScreen].gMenuItemMenubarWidget,
"selected_shadow_type", &selected_shadow_type,
(char *)NULL);
}
@@ -2732,14 +2742,14 @@ sal_Bool GtkSalGraphics::NWPaintGTKMenubar(
// handle Menubar
if( nPart == PART_ENTIRE_CONTROL )
{
- NWSetWidgetState( gWidgetData[m_nScreen].gMenubarWidget, nState, stateType );
+ NWSetWidgetState( gWidgetData[m_nXScreen].gMenubarWidget, nState, stateType );
- GTK_WIDGET_UNSET_FLAGS( gWidgetData[m_nScreen].gMenubarWidget, GTK_SENSITIVE );
+ GTK_WIDGET_UNSET_FLAGS( gWidgetData[m_nXScreen].gMenubarWidget, GTK_SENSITIVE );
if ( nState & CTRL_STATE_ENABLED )
- GTK_WIDGET_SET_FLAGS( gWidgetData[m_nScreen].gMenubarWidget, GTK_SENSITIVE );
+ GTK_WIDGET_SET_FLAGS( gWidgetData[m_nXScreen].gMenubarWidget, GTK_SENSITIVE );
// for translucent menubar styles paint background first
- gtk_paint_flat_box( gWidgetData[m_nScreen].gMenubarWidget->style,
+ gtk_paint_flat_box( gWidgetData[m_nXScreen].gMenubarWidget->style,
gdkDrawable,
GTK_STATE_NORMAL,
GTK_SHADOW_NONE,
@@ -2747,12 +2757,12 @@ sal_Bool GtkSalGraphics::NWPaintGTKMenubar(
GTK_WIDGET(m_pWindow),
"base",
x, y, w, h );
- gtk_paint_box( gWidgetData[m_nScreen].gMenubarWidget->style,
+ gtk_paint_box( gWidgetData[m_nXScreen].gMenubarWidget->style,
gdkDrawable,
stateType,
shadowType,
&clipRect,
- gWidgetData[m_nScreen].gMenubarWidget,
+ gWidgetData[m_nXScreen].gMenubarWidget,
"menubar",
x, y, w, h );
}
@@ -2761,12 +2771,12 @@ sal_Bool GtkSalGraphics::NWPaintGTKMenubar(
{
if( nState & (CTRL_STATE_SELECTED|CTRL_STATE_ROLLOVER) )
{
- gtk_paint_box( gWidgetData[m_nScreen].gMenuItemMenubarWidget->style,
+ gtk_paint_box( gWidgetData[m_nXScreen].gMenuItemMenubarWidget->style,
gdkDrawable,
GTK_STATE_PRELIGHT,
selected_shadow_type,
&clipRect,
- gWidgetData[m_nScreen].gMenuItemMenubarWidget,
+ gWidgetData[m_nXScreen].gMenuItemMenubarWidget,
"menuitem",
x, y, w, h);
}
@@ -2796,7 +2806,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKPopupMenu(
gint x, y, w, h;
GdkRectangle clipRect;
- NWEnsureGTKMenu( m_nScreen );
+ NWEnsureGTKMenu( m_nXScreen );
NWConvertVCLStateToGTKState( nState, &stateType, &shadowType );
x = rControlRectangle.Left();
@@ -2807,16 +2817,16 @@ sal_Bool GtkSalGraphics::NWPaintGTKPopupMenu(
if( nPart == PART_MENU_ITEM &&
( nState & (CTRL_STATE_SELECTED|CTRL_STATE_ROLLOVER) ) )
{
- gtk_widget_style_get( gWidgetData[m_nScreen].gMenuItemMenuWidget,
+ gtk_widget_style_get( gWidgetData[m_nXScreen].gMenuItemMenuWidget,
"selected_shadow_type", &selected_shadow_type,
(char *)NULL);
}
- NWSetWidgetState( gWidgetData[m_nScreen].gMenuWidget, nState, stateType );
+ NWSetWidgetState( gWidgetData[m_nXScreen].gMenuWidget, nState, stateType );
- GTK_WIDGET_UNSET_FLAGS( gWidgetData[m_nScreen].gMenuWidget, GTK_SENSITIVE );
+ GTK_WIDGET_UNSET_FLAGS( gWidgetData[m_nXScreen].gMenuWidget, GTK_SENSITIVE );
if ( nState & CTRL_STATE_ENABLED )
- GTK_WIDGET_SET_FLAGS( gWidgetData[m_nScreen].gMenuWidget, GTK_SENSITIVE );
+ GTK_WIDGET_SET_FLAGS( gWidgetData[m_nXScreen].gMenuWidget, GTK_SENSITIVE );
for( clipList::const_iterator it = rClipList.begin(); it != rClipList.end(); ++it )
{
@@ -2828,7 +2838,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKPopupMenu(
if( nPart == PART_ENTIRE_CONTROL )
{
// for translucent menubar styles paint background first
- gtk_paint_flat_box( gWidgetData[m_nScreen].gMenuWidget->style,
+ gtk_paint_flat_box( gWidgetData[m_nXScreen].gMenuWidget->style,
gdkDrawable,
GTK_STATE_NORMAL,
GTK_SHADOW_NONE,
@@ -2836,12 +2846,12 @@ sal_Bool GtkSalGraphics::NWPaintGTKPopupMenu(
GTK_WIDGET(m_pWindow),
"base",
x, y, w, h );
- gtk_paint_box( gWidgetData[m_nScreen].gMenuWidget->style,
+ gtk_paint_box( gWidgetData[m_nXScreen].gMenuWidget->style,
gdkDrawable,
GTK_STATE_NORMAL,
GTK_SHADOW_OUT,
&clipRect,
- gWidgetData[m_nScreen].gMenuWidget,
+ gWidgetData[m_nXScreen].gMenuWidget,
"menu",
x, y, w, h );
}
@@ -2850,12 +2860,12 @@ sal_Bool GtkSalGraphics::NWPaintGTKPopupMenu(
if( nState & (CTRL_STATE_SELECTED|CTRL_STATE_ROLLOVER) )
{
if( nState & CTRL_STATE_ENABLED )
- gtk_paint_box( gWidgetData[m_nScreen].gMenuItemMenuWidget->style,
+ gtk_paint_box( gWidgetData[m_nXScreen].gMenuItemMenuWidget->style,
gdkDrawable,
GTK_STATE_PRELIGHT,
selected_shadow_type,
&clipRect,
- gWidgetData[m_nScreen].gMenuItemMenuWidget,
+ gWidgetData[m_nXScreen].gMenuItemMenuWidget,
"menuitem",
x, y, w, h);
}
@@ -2863,8 +2873,8 @@ sal_Bool GtkSalGraphics::NWPaintGTKPopupMenu(
else if( nPart == PART_MENU_ITEM_CHECK_MARK || nPart == PART_MENU_ITEM_RADIO_MARK )
{
GtkWidget* pWidget = (nPart == PART_MENU_ITEM_CHECK_MARK) ?
- gWidgetData[m_nScreen].gMenuItemCheckMenuWidget :
- gWidgetData[m_nScreen].gMenuItemRadioMenuWidget;
+ gWidgetData[m_nXScreen].gMenuItemCheckMenuWidget :
+ gWidgetData[m_nXScreen].gMenuItemRadioMenuWidget;
GtkStateType nStateType = GTK_STATE_NORMAL;
GtkShadowType nShadowType;
@@ -2886,7 +2896,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKPopupMenu(
nStateType,
nShadowType,
&clipRect,
- gWidgetData[m_nScreen].gMenuItemMenuWidget,
+ gWidgetData[m_nXScreen].gMenuItemMenuWidget,
"check",
x, y, w, h );
}
@@ -2897,18 +2907,18 @@ sal_Bool GtkSalGraphics::NWPaintGTKPopupMenu(
nStateType,
nShadowType,
&clipRect,
- gWidgetData[m_nScreen].gMenuItemMenuWidget,
+ gWidgetData[m_nXScreen].gMenuItemMenuWidget,
"option",
x, y, w, h );
}
}
else if( nPart == PART_MENU_SEPARATOR )
{
- gtk_paint_hline( gWidgetData[m_nScreen].gMenuItemSeparatorMenuWidget->style,
+ gtk_paint_hline( gWidgetData[m_nXScreen].gMenuItemSeparatorMenuWidget->style,
gdkDrawable,
GTK_STATE_NORMAL,
&clipRect,
- gWidgetData[m_nScreen].gMenuItemSeparatorMenuWidget,
+ gWidgetData[m_nXScreen].gMenuItemSeparatorMenuWidget,
"menuitem",
x, x + w, y + h / 2);
}
@@ -2920,7 +2930,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKPopupMenu(
if ( nState & CTRL_STATE_SELECTED )
nStateType = GTK_STATE_PRELIGHT;
- NWSetWidgetState( gWidgetData[m_nScreen].gMenuItemMenuWidget,
+ NWSetWidgetState( gWidgetData[m_nXScreen].gMenuItemMenuWidget,
nState, nStateType );
if ( nState & CTRL_STATE_PRESSED )
@@ -2934,12 +2944,12 @@ sal_Bool GtkSalGraphics::NWPaintGTKPopupMenu(
else
eArrow = GTK_ARROW_RIGHT;
- gtk_paint_arrow( gWidgetData[m_nScreen].gMenuItemMenuWidget->style,
+ gtk_paint_arrow( gWidgetData[m_nXScreen].gMenuItemMenuWidget->style,
gdkDrawable,
nStateType,
nShadowType,
&clipRect,
- gWidgetData[m_nScreen].gMenuItemMenuWidget,
+ gWidgetData[m_nXScreen].gMenuItemMenuWidget,
"menuitem",
eArrow, TRUE,
x, y, w, h);
@@ -2957,7 +2967,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKTooltip(
ControlState, const ImplControlValue&,
const OUString& )
{
- NWEnsureGTKTooltip( m_nScreen );
+ NWEnsureGTKTooltip( m_nXScreen );
gint x, y, w, h;
GdkRectangle clipRect;
@@ -2974,12 +2984,12 @@ sal_Bool GtkSalGraphics::NWPaintGTKTooltip(
clipRect.width = it->GetWidth();
clipRect.height = it->GetHeight();
- gtk_paint_flat_box( gWidgetData[m_nScreen].gTooltipPopup->style,
+ gtk_paint_flat_box( gWidgetData[m_nXScreen].gTooltipPopup->style,
gdkDrawable,
GTK_STATE_NORMAL,
GTK_SHADOW_OUT,
&clipRect,
- gWidgetData[m_nScreen].gTooltipPopup,
+ gWidgetData[m_nXScreen].gTooltipPopup,
"tooltip",
x, y, w, h );
}
@@ -2995,7 +3005,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKListNode(
ControlState nState, const ImplControlValue& rValue,
const OUString& )
{
- NWEnsureGTKTreeView( m_nScreen );
+ NWEnsureGTKTreeView( m_nXScreen );
Rectangle aRect( rControlRectangle );
aRect.Left() -= 2;
@@ -3026,11 +3036,11 @@ sal_Bool GtkSalGraphics::NWPaintGTKListNode(
return sal_False;
GdkDrawable* const &pixDrawable = GDK_DRAWABLE( pixmap );
- gtk_paint_expander( gWidgetData[m_nScreen].gTreeView->style,
+ gtk_paint_expander( gWidgetData[m_nXScreen].gTreeView->style,
pixDrawable,
stateType,
NULL,
- gWidgetData[m_nScreen].gTreeView,
+ gWidgetData[m_nXScreen].gTreeView,
"treeview",
w/2, h/2,
eStyle );
@@ -3049,7 +3059,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKProgress(
ControlState, const ImplControlValue& rValue,
const OUString& )
{
- NWEnsureGTKProgressBar( m_nScreen );
+ NWEnsureGTKProgressBar( m_nXScreen );
gint w, h;
w = rControlRectangle.GetWidth();
@@ -3064,12 +3074,12 @@ sal_Bool GtkSalGraphics::NWPaintGTKProgress(
GdkDrawable* const &pixDrawable = GDK_DRAWABLE( pixmap );
// paint background
- gtk_paint_flat_box( gWidgetData[m_nScreen].gProgressBar->style,
+ gtk_paint_flat_box( gWidgetData[m_nXScreen].gProgressBar->style,
pixDrawable,
GTK_STATE_NORMAL,
GTK_SHADOW_NONE,
NULL,
- gWidgetData[m_nScreen].gProgressBar,
+ gWidgetData[m_nXScreen].gProgressBar,
"trough",
0, 0, w, h );
if( nProgressWidth > 0 )
@@ -3077,22 +3087,22 @@ sal_Bool GtkSalGraphics::NWPaintGTKProgress(
// paint progress
if( Application::GetSettings().GetLayoutRTL() )
{
- gtk_paint_box( gWidgetData[m_nScreen].gProgressBar->style,
+ gtk_paint_box( gWidgetData[m_nXScreen].gProgressBar->style,
pixDrawable,
GTK_STATE_PRELIGHT, GTK_SHADOW_OUT,
NULL,
- gWidgetData[m_nScreen].gProgressBar,
+ gWidgetData[m_nXScreen].gProgressBar,
"bar",
w-nProgressWidth, 0, nProgressWidth, h
);
}
else
{
- gtk_paint_box( gWidgetData[m_nScreen].gProgressBar->style,
+ gtk_paint_box( gWidgetData[m_nXScreen].gProgressBar->style,
pixDrawable,
GTK_STATE_PRELIGHT, GTK_SHADOW_OUT,
NULL,
- gWidgetData[m_nScreen].gProgressBar,
+ gWidgetData[m_nXScreen].gProgressBar,
"bar",
0, 0, nProgressWidth, h
);
@@ -3114,7 +3124,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKSlider(
const OUString& )
{
OSL_ASSERT( rValue.getType() == CTRL_SLIDER );
- NWEnsureGTKSlider( m_nScreen );
+ NWEnsureGTKSlider( m_nXScreen );
gint w, h;
w = rControlRectangle.GetWidth();
@@ -3128,8 +3138,8 @@ sal_Bool GtkSalGraphics::NWPaintGTKSlider(
GdkDrawable* const &pixDrawable = GDK_DRAWABLE( pixmap );
GtkWidget* pWidget = (nPart == PART_TRACK_HORZ_AREA)
- ? GTK_WIDGET(gWidgetData[m_nScreen].gHScale)
- : GTK_WIDGET(gWidgetData[m_nScreen].gVScale);
+ ? GTK_WIDGET(gWidgetData[m_nXScreen].gHScale)
+ : GTK_WIDGET(gWidgetData[m_nXScreen].gVScale);
const gchar* pDetail = (nPart == PART_TRACK_HORZ_AREA) ? "hscale" : "vscale";
GtkOrientation eOri = (nPart == PART_TRACK_HORZ_AREA) ? GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL;
GtkStateType eState = (nState & CTRL_STATE_ENABLED) ? GTK_STATE_ACTIVE : GTK_STATE_INSENSITIVE;
@@ -3197,7 +3207,7 @@ sal_Bool GtkSalGraphics::NWPaintGTKSlider(
//----
-static Rectangle NWGetListBoxButtonRect( int nScreen,
+static Rectangle NWGetListBoxButtonRect( SalX11Screen nScreen,
ControlType,
ControlPart nPart,
Rectangle aAreaRect,
@@ -3262,7 +3272,7 @@ static Rectangle NWGetListBoxButtonRect( int nScreen,
//----
-static Rectangle NWGetListBoxIndicatorRect( int nScreen,
+static Rectangle NWGetListBoxIndicatorRect( SalX11Screen nScreen,
ControlType,
ControlPart,
Rectangle aAreaRect,
@@ -3312,7 +3322,7 @@ static Rectangle NWGetListBoxIndicatorRect( int nScreen,
return( aIndicatorRect );
}
-static Rectangle NWGetToolbarRect( int nScreen,
+static Rectangle NWGetToolbarRect( SalX11Screen nScreen,
ControlType,
ControlPart nPart,
Rectangle aAreaRect,
@@ -3399,11 +3409,11 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings )
StyleSettings aStyleSet = rSettings.GetStyleSettings();
// get the widgets in place
- NWEnsureGTKMenu( m_nScreen );
- NWEnsureGTKMenubar( m_nScreen );
- NWEnsureGTKScrollbars( m_nScreen );
- NWEnsureGTKEditBox( m_nScreen );
- NWEnsureGTKTooltip( m_nScreen );
+ NWEnsureGTKMenu( m_nXScreen );
+ NWEnsureGTKMenubar( m_nXScreen );
+ NWEnsureGTKScrollbars( m_nXScreen );
+ NWEnsureGTKEditBox( m_nXScreen );
+ NWEnsureGTKTooltip( m_nXScreen );
#if OSL_DEBUG_LEVEL > 2
printStyleColors( pStyle );
@@ -3421,7 +3431,7 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings )
aStyleSet.SetFieldTextColor( aTextColor );
// Tooltip colors
- GtkStyle* pTooltipStyle = gtk_widget_get_style( gWidgetData[m_nScreen].gTooltipPopup );
+ GtkStyle* pTooltipStyle = gtk_widget_get_style( gWidgetData[m_nXScreen].gTooltipPopup );
aTextColor = getColor( pTooltipStyle->fg[ GTK_STATE_NORMAL ] );
aStyleSet.SetHelpTextColor( aTextColor );
@@ -3475,10 +3485,10 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings )
aStyleSet.SetSkipDisabledInMenus( sal_True );
aStyleSet.SetAcceleratorsInContextMenus( sal_False );
// menu colors
- GtkStyle* pMenuStyle = gtk_widget_get_style( gWidgetData[m_nScreen].gMenuWidget );
- GtkStyle* pMenuItemStyle = gtk_rc_get_style( gWidgetData[m_nScreen].gMenuItemMenuWidget );
- GtkStyle* pMenubarStyle = gtk_rc_get_style( gWidgetData[m_nScreen].gMenubarWidget );
- GtkStyle* pMenuTextStyle = gtk_rc_get_style( gtk_bin_get_child( GTK_BIN(gWidgetData[m_nScreen].gMenuItemMenuWidget) ) );
+ GtkStyle* pMenuStyle = gtk_widget_get_style( gWidgetData[m_nXScreen].gMenuWidget );
+ GtkStyle* pMenuItemStyle = gtk_rc_get_style( gWidgetData[m_nXScreen].gMenuItemMenuWidget );
+ GtkStyle* pMenubarStyle = gtk_rc_get_style( gWidgetData[m_nXScreen].gMenubarWidget );
+ GtkStyle* pMenuTextStyle = gtk_rc_get_style( gtk_bin_get_child( GTK_BIN(gWidgetData[m_nXScreen].gMenuItemMenuWidget) ) );
aBackColor = getColor( pMenubarStyle->bg[GTK_STATE_NORMAL] );
aStyleSet.SetMenuBarColor( aBackColor );
@@ -3655,7 +3665,7 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings )
gint min_slider_length = 21;
// Grab some button style attributes
- gtk_widget_style_get( gWidgetData[m_nScreen].gScrollHorizWidget,
+ gtk_widget_style_get( gWidgetData[m_nXScreen].gScrollHorizWidget,
"slider-width", &slider_width,
"trough-border", &trough_border,
"min-slider-length", &min_slider_length,
@@ -3739,12 +3749,12 @@ GdkPixmap* GtkSalGraphics::NWGetPixmapFromScreen( Rectangle srcRect )
// Copy the background of the screen into a composite pixmap
CopyScreenArea( GetXDisplay(),
- GetDrawable(), GetScreenNumber(), GetVisual().GetDepth(),
- gdk_x11_drawable_get_xid(pPixmap),
- gdk_screen_get_number( gdk_drawable_get_screen( GDK_DRAWABLE(pPixmap) ) ),
- gdk_drawable_get_depth( GDK_DRAWABLE( pPixmap ) ),
- gdk_x11_gc_get_xgc(pPixmapGC),
- srcRect.Left(), srcRect.Top(), srcRect.GetWidth(), srcRect.GetHeight(), 0, 0 );
+ GetDrawable(), GetScreenNumber(), GetVisual().GetDepth(),
+ gdk_x11_drawable_get_xid(pPixmap),
+ SalX11Screen( gdk_screen_get_number( gdk_drawable_get_screen( GDK_DRAWABLE(pPixmap) ) ) ),
+ gdk_drawable_get_depth( GDK_DRAWABLE( pPixmap ) ),
+ gdk_x11_gc_get_xgc(pPixmapGC),
+ srcRect.Left(), srcRect.Top(), srcRect.GetWidth(), srcRect.GetHeight(), 0, 0 );
g_object_unref( pPixmapGC );
return( pPixmap );
@@ -3772,12 +3782,12 @@ sal_Bool GtkSalGraphics::NWRenderPixmapToScreen( GdkPixmap* pPixmap, Rectangle d
// Copy the background of the screen into a composite pixmap
CopyScreenArea( GetXDisplay(),
- GDK_DRAWABLE_XID(pPixmap),
- gdk_screen_get_number( gdk_drawable_get_screen( GDK_DRAWABLE(pPixmap) ) ),
- gdk_drawable_get_depth( GDK_DRAWABLE(pPixmap) ),
- GetDrawable(), m_nScreen, GetVisual().GetDepth(),
- aFontGC,
- 0, 0, dstRect.GetWidth(), dstRect.GetHeight(), dstRect.Left(), dstRect.Top() );
+ GDK_DRAWABLE_XID(pPixmap),
+ SalX11Screen( gdk_screen_get_number( gdk_drawable_get_screen( GDK_DRAWABLE(pPixmap) ) ) ),
+ gdk_drawable_get_depth( GDK_DRAWABLE(pPixmap) ),
+ GetDrawable(), m_nXScreen, GetVisual().GetDepth(),
+ aFontGC,
+ 0, 0, dstRect.GetWidth(), dstRect.GetHeight(), dstRect.Left(), dstRect.Top() );
return( sal_True );
}
@@ -3838,7 +3848,7 @@ static void NWSetWidgetState( GtkWidget* widget, ControlState nState, GtkStateTy
//-------------------------------------
-static void NWAddWidgetToCacheWindow( GtkWidget* widget, int nScreen )
+static void NWAddWidgetToCacheWindow( GtkWidget* widget, SalX11Screen nScreen )
{
NWFWidgetData& rData = gWidgetData[nScreen];
if ( !rData.gCacheWindow || !rData.gDumbContainer )
@@ -3846,7 +3856,8 @@ static void NWAddWidgetToCacheWindow( GtkWidget* widget, int nScreen )
if ( !rData.gCacheWindow )
{
rData.gCacheWindow = gtk_window_new( GTK_WINDOW_TOPLEVEL );
- GdkScreen* pScreen = gdk_display_get_screen( gdk_display_get_default(), nScreen );
+ GdkScreen* pScreen = gdk_display_get_screen( gdk_display_get_default(),
+ nScreen.getXScreen() );
if( pScreen )
gtk_window_set_screen( GTK_WINDOW(rData.gCacheWindow), pScreen );
}
@@ -3867,7 +3878,7 @@ static void NWAddWidgetToCacheWindow( GtkWidget* widget, int nScreen )
//-------------------------------------
-static void NWEnsureGTKButton( int nScreen )
+static void NWEnsureGTKButton( SalX11Screen nScreen )
{
if ( !gWidgetData[nScreen].gBtnWidget )
{
@@ -3878,7 +3889,7 @@ static void NWEnsureGTKButton( int nScreen )
//-------------------------------------
-static void NWEnsureGTKRadio( int nScreen )
+static void NWEnsureGTKRadio( SalX11Screen nScreen )
{
if ( !gWidgetData[nScreen].gRadioWidget || !gWidgetData[nScreen].gRadioWidgetSibling )
{
@@ -3891,7 +3902,7 @@ static void NWEnsureGTKRadio( int nScreen )
//-------------------------------------
-static void NWEnsureGTKCheck( int nScreen )
+static void NWEnsureGTKCheck( SalX11Screen nScreen )
{
if ( !gWidgetData[nScreen].gCheckWidget )
{
@@ -3902,7 +3913,7 @@ static void NWEnsureGTKCheck( int nScreen )
//-------------------------------------
-static void NWEnsureGTKScrollbars( int nScreen )
+static void NWEnsureGTKScrollbars( SalX11Screen nScreen )
{
if ( !gWidgetData[nScreen].gScrollHorizWidget )
{
@@ -3919,7 +3930,7 @@ static void NWEnsureGTKScrollbars( int nScreen )
//-------------------------------------
-static void NWEnsureGTKArrow( int nScreen )
+static void NWEnsureGTKArrow( SalX11Screen nScreen )
{
if ( !gWidgetData[nScreen].gArrowWidget || !gWidgetData[nScreen].gDropdownWidget )
{
@@ -3934,7 +3945,7 @@ static void NWEnsureGTKArrow( int nScreen )
//-------------------------------------
-static void NWEnsureGTKEditBox( int nScreen )
+static void NWEnsureGTKEditBox( SalX11Screen nScreen )
{
if ( !gWidgetData[nScreen].gEditBoxWidget )
{
@@ -3945,7 +3956,7 @@ static void NWEnsureGTKEditBox( int nScreen )
//-------------------------------------
-static void NWEnsureGTKSpinButton( int nScreen )
+static void NWEnsureGTKSpinButton( SalX11Screen nScreen )
{
if ( !gWidgetData[nScreen].gSpinButtonWidget )
{
@@ -3962,7 +3973,7 @@ static void NWEnsureGTKSpinButton( int nScreen )
//-------------------------------------
-static void NWEnsureGTKNotebook( int nScreen )
+static void NWEnsureGTKNotebook( SalX11Screen nScreen )
{
if ( !gWidgetData[nScreen].gNotebookWidget )
{
@@ -3973,7 +3984,7 @@ static void NWEnsureGTKNotebook( int nScreen )
//-------------------------------------
-static void NWEnsureGTKOptionMenu( int nScreen )
+static void NWEnsureGTKOptionMenu( SalX11Screen nScreen )
{
if ( !gWidgetData[nScreen].gOptionMenuWidget )
{
@@ -3984,7 +3995,7 @@ static void NWEnsureGTKOptionMenu( int nScreen )
//-------------------------------------
-static void NWEnsureGTKCombo( int nScreen )
+static void NWEnsureGTKCombo( SalX11Screen nScreen )
{
if ( !gWidgetData[nScreen].gComboWidget )
{
@@ -4004,7 +4015,7 @@ static void NWEnsureGTKCombo( int nScreen )
//-------------------------------------
-static void NWEnsureGTKScrolledWindow( int nScreen )
+static void NWEnsureGTKScrolledWindow( SalX11Screen nScreen )
{
if ( !gWidgetData[nScreen].gScrolledWindowWidget )
{
@@ -4018,7 +4029,7 @@ static void NWEnsureGTKScrolledWindow( int nScreen )
//-------------------------------------
-static void NWEnsureGTKToolbar( int nScreen )
+static void NWEnsureGTKToolbar( SalX11Screen nScreen )
{
if( !gWidgetData[nScreen].gToolbarWidget )
{
@@ -4049,7 +4060,7 @@ static void NWEnsureGTKToolbar( int nScreen )
//-------------------------------------
-static void NWEnsureGTKMenubar( int nScreen )
+static void NWEnsureGTKMenubar( SalX11Screen nScreen )
{
if( !gWidgetData[nScreen].gMenubarWidget )
{
@@ -4068,7 +4079,7 @@ static void NWEnsureGTKMenubar( int nScreen )
}
}
-static void NWEnsureGTKMenu( int nScreen )
+static void NWEnsureGTKMenu( SalX11Screen nScreen )
{
if( !gWidgetData[nScreen].gMenuWidget )
{
@@ -4113,12 +4124,13 @@ static void NWEnsureGTKMenu( int nScreen )
}
}
-static void NWEnsureGTKTooltip( int nScreen )
+static void NWEnsureGTKTooltip( SalX11Screen nScreen )
{
if( !gWidgetData[nScreen].gTooltipPopup )
{
gWidgetData[nScreen].gTooltipPopup = gtk_window_new (GTK_WINDOW_POPUP);
- GdkScreen* pScreen = gdk_display_get_screen( gdk_display_get_default(), nScreen );
+ GdkScreen* pScreen = gdk_display_get_screen( gdk_display_get_default(),
+ nScreen.getXScreen() );
if( pScreen )
gtk_window_set_screen( GTK_WINDOW(gWidgetData[nScreen].gTooltipPopup), pScreen );
gtk_widget_set_name( gWidgetData[nScreen].gTooltipPopup, "gtk-tooltips");
@@ -4127,7 +4139,7 @@ static void NWEnsureGTKTooltip( int nScreen )
}
}
-static void NWEnsureGTKProgressBar( int nScreen )
+static void NWEnsureGTKProgressBar( SalX11Screen nScreen )
{
if( !gWidgetData[nScreen].gProgressBar )
{
@@ -4136,7 +4148,7 @@ static void NWEnsureGTKProgressBar( int nScreen )
}
}
-static void NWEnsureGTKTreeView( int nScreen )
+static void NWEnsureGTKTreeView( SalX11Screen nScreen )
{
if( !gWidgetData[nScreen].gTreeView )
{
@@ -4145,7 +4157,7 @@ static void NWEnsureGTKTreeView( int nScreen )
}
}
-static void NWEnsureGTKSlider( int nScreen )
+static void NWEnsureGTKSlider( SalX11Screen nScreen )
{
if( !gWidgetData[nScreen].gHScale )
{
diff --git a/vcl/unx/gtk/window/gtkframe.cxx b/vcl/unx/gtk/window/gtkframe.cxx
index f778354ed5c9..0768093ef9fb 100644
--- a/vcl/unx/gtk/window/gtkframe.cxx
+++ b/vcl/unx/gtk/window/gtkframe.cxx
@@ -453,8 +453,8 @@ GtkSalFrame::GraphicsHolder::~GraphicsHolder()
}
GtkSalFrame::GtkSalFrame( SalFrame* pParent, sal_uLong nStyle )
+ : m_nXScreen( getDisplay()->GetDefaultXScreen() )
{
- m_nScreen = getDisplay()->GetDefaultScreenNumber();
getDisplay()->registerFrame( this );
m_nDuringRender = 0;
m_bDefaultPos = true;
@@ -464,8 +464,8 @@ GtkSalFrame::GtkSalFrame( SalFrame* pParent, sal_uLong nStyle )
}
GtkSalFrame::GtkSalFrame( SystemParentData* pSysData )
+ : m_nXScreen( getDisplay()->GetDefaultXScreen() )
{
- m_nScreen = getDisplay()->GetDefaultScreenNumber();
getDisplay()->registerFrame( this );
// permanently ignore errors from our unruly children ...
GetGenericData()->ErrorTrapPush();
@@ -481,7 +481,7 @@ GtkSalFrame::~GtkSalFrame()
if( !m_aGraphics[i].pGraphics )
continue;
#if !GTK_CHECK_VERSION(3,0,0)
- m_aGraphics[i].pGraphics->SetDrawable( None, m_nScreen );
+ m_aGraphics[i].pGraphics->SetDrawable( None, m_nXScreen );
#endif
m_aGraphics[i].bInUse = false;
}
@@ -586,7 +586,7 @@ void GtkSalFrame::updateScreenNumber()
GdkScreen *pScreen = gtk_widget_get_screen( m_pWindow );
if( pScreen )
nScreen = GtkSalSystem::getScreenMonitorIdx( getGdkDisplay(), pScreen, maGeometry.nX, maGeometry.nY );
- maGeometry.nScreenNumber = nScreen;
+ maGeometry.nDisplayScreenNumber = nScreen;
}
void GtkSalFrame::InitCommon()
@@ -658,9 +658,9 @@ void GtkSalFrame::InitCommon()
#if !GTK_CHECK_VERSION(3,0,0)
GtkSalDisplay* pDisp = GetGtkSalData()->GetGtkDisplay();
m_aSystemData.pDisplay = pDisp->GetDisplay();
- m_aSystemData.pVisual = pDisp->GetVisual( m_nScreen ).GetVisual();
- m_aSystemData.nDepth = pDisp->GetVisual( m_nScreen ).GetDepth();
- m_aSystemData.aColormap = pDisp->GetColormap( m_nScreen ).GetXColormap();
+ m_aSystemData.pVisual = pDisp->GetVisual( m_nXScreen ).GetVisual();
+ m_aSystemData.nDepth = pDisp->GetVisual( m_nXScreen ).GetDepth();
+ m_aSystemData.aColormap = pDisp->GetColormap( m_nXScreen ).GetXColormap();
m_aSystemData.aWindow = widget_get_xid(m_pWindow);
#else
static int nWindow = 0;
@@ -668,7 +668,7 @@ void GtkSalFrame::InitCommon()
#endif
m_aSystemData.pSalFrame = this;
m_aSystemData.pWidget = m_pWindow;
- m_aSystemData.nScreen = m_nScreen;
+ m_aSystemData.nScreen = m_nXScreen.getXScreen();
m_aSystemData.pAppContext = NULL;
m_aSystemData.aShellWindow = m_aSystemData.aWindow;
m_aSystemData.pShellWidget = m_aSystemData.pWidget;
@@ -1102,7 +1102,8 @@ SalGraphics* GtkSalFrame::GetGraphics()
AllocateFrame();
m_aGraphics[i].pGraphics->setDevice( m_aFrame );
#else // common case:
- m_aGraphics[i].pGraphics->Init( this, widget_get_xid(m_pWindow), m_nScreen );
+ m_aGraphics[i].pGraphics->Init( this, widget_get_xid(m_pWindow),
+ m_nXScreen );
#endif
}
return m_aGraphics[i].pGraphics;
@@ -1319,7 +1320,7 @@ void GtkSalFrame::Center()
Size GtkSalFrame::calcDefaultSize()
{
- Size aScreenSize = GetGtkSalData()->GetGtkDisplay()->GetScreenSize( m_nScreen );
+ Size aScreenSize = getDisplay()->GetScreenSize( GetDisplayScreen() );
long w = aScreenSize.Width();
long h = aScreenSize.Height();
@@ -1645,7 +1646,7 @@ void GtkSalFrame::SetPosSize( long nX, long nY, long nWidth, long nHeight, sal_u
#if GTK_CHECK_VERSION(3,0,0)
// adjust position to avoid off screen windows
// but allow toolbars to be positioned partly off screen by the user
- Size aScreenSize = GetGtkSalData()->GetGtkDisplay()->GetScreenSize( m_nScreen );
+ Size aScreenSize = getDisplay()->GetScreenSize( GetDisplayScreen() );
if( ! (m_nStyle & SAL_FRAME_STYLE_OWNERDRAWDECORATION) )
{
if( nX < (long)maGeometry.nLeftDecoration )
@@ -1846,6 +1847,9 @@ void GtkSalFrame::SetScreen( unsigned int nNewScreen, int eType, Rectangle *pSiz
if( !m_pWindow )
return;
+ if (maGeometry.nDisplayScreenNumber == nNewScreen && eType == SET_RETAIN_SIZE)
+ return;
+
gint nMonitor;
GdkScreen *pScreen = NULL;
pScreen = GtkSalSystem::getScreenMonitorFromIdx( getGdkDisplay(), nNewScreen, nMonitor );
@@ -2531,21 +2535,21 @@ void GtkSalFrame::SetParent( SalFrame* pNewParent )
#if !GTK_CHECK_VERSION(3,0,0)
-void GtkSalFrame::createNewWindow( XLIB_Window aNewParent, bool bXEmbed, int nScreen )
+void GtkSalFrame::createNewWindow( XLIB_Window aNewParent, bool bXEmbed, SalX11Screen nXScreen )
{
bool bWasVisible = IS_WIDGET_MAPPED(m_pWindow);
if( bWasVisible )
Show( sal_False );
- if( nScreen < 0 || nScreen >= getDisplay()->GetScreenCount() )
- nScreen = m_nScreen;
+ if( (int)nXScreen.getXScreen() >= getDisplay()->GetXScreenCount() )
+ nXScreen = m_nXScreen;
SystemParentData aParentData;
aParentData.aWindow = aNewParent;
aParentData.bXEmbedSupport = bXEmbed;
if( aNewParent == None )
{
- aNewParent = getDisplay()->GetRootWindow(nScreen);
+ aNewParent = getDisplay()->GetRootWindow(nXScreen);
aParentData.aWindow = None;
aParentData.bXEmbedSupport = false;
}
@@ -2553,12 +2557,12 @@ void GtkSalFrame::createNewWindow( XLIB_Window aNewParent, bool bXEmbed, int nSc
{
// is new parent a root window ?
Display* pDisp = getDisplay()->GetDisplay();
- int nScreens = getDisplay()->GetScreenCount();
+ int nScreens = getDisplay()->GetXScreenCount();
for( int i = 0; i < nScreens; i++ )
{
if( aNewParent == RootWindow( pDisp, i ) )
{
- nScreen = i;
+ nXScreen = SalX11Screen( i );
aParentData.aWindow = None;
aParentData.bXEmbedSupport = false;
break;
@@ -2566,12 +2570,10 @@ void GtkSalFrame::createNewWindow( XLIB_Window aNewParent, bool bXEmbed, int nSc
}
}
-#if !GTK_CHECK_VERSION(3,0,0)
// free xrender resources
for( unsigned int i = 0; i < SAL_N_ELEMENTS(m_aGraphics); i++ )
if( m_aGraphics[i].bInUse )
- m_aGraphics[i].pGraphics->SetDrawable( None, m_nScreen );
-#endif
+ m_aGraphics[i].pGraphics->SetDrawable( None, m_nXScreen );
// first deinit frame
if( m_pIMHandler )
@@ -2580,13 +2582,13 @@ void GtkSalFrame::createNewWindow( XLIB_Window aNewParent, bool bXEmbed, int nSc
m_pIMHandler = NULL;
}
if( m_pRegion )
-{
+ {
#if GTK_CHECK_VERSION(3,0,0)
cairo_region_destroy( m_pRegion );
#else
gdk_region_destroy( m_pRegion );
#endif
-}
+ }
if( m_pFixedContainer )
gtk_widget_destroy( GTK_WIDGET(m_pFixedContainer) );
if( m_pWindow )
@@ -2606,20 +2608,18 @@ void GtkSalFrame::createNewWindow( XLIB_Window aNewParent, bool bXEmbed, int nSc
else
{
m_nStyle &= ~SAL_FRAME_STYLE_PLUG;
- Init( (m_pParent && m_pParent->m_nScreen == m_nScreen) ? m_pParent : NULL, m_nStyle );
+ Init( (m_pParent && m_pParent->m_nXScreen == m_nXScreen) ? m_pParent : NULL, m_nStyle );
}
-#if !GTK_CHECK_VERSION(3,0,0)
// update graphics
for( unsigned int i = 0; i < SAL_N_ELEMENTS(m_aGraphics); i++ )
{
if( m_aGraphics[i].bInUse )
{
- m_aGraphics[i].pGraphics->SetDrawable( widget_get_xid(m_pWindow), m_nScreen );
+ m_aGraphics[i].pGraphics->SetDrawable( widget_get_xid(m_pWindow), m_nXScreen );
m_aGraphics[i].pGraphics->SetWindow( m_pWindow );
}
}
-#endif
if( ! m_aTitle.isEmpty() )
SetTitle( m_aTitle );
@@ -2630,7 +2630,7 @@ void GtkSalFrame::createNewWindow( XLIB_Window aNewParent, bool bXEmbed, int nSc
std::list< GtkSalFrame* > aChildren = m_aChildren;
m_aChildren.clear();
for( std::list< GtkSalFrame* >::iterator it = aChildren.begin(); it != aChildren.end(); ++it )
- (*it)->createNewWindow( None, false, m_nScreen );
+ (*it)->createNewWindow( None, false, m_nXScreen );
// FIXME: SalObjects
}
@@ -2641,7 +2641,7 @@ bool GtkSalFrame::SetPluginParent( SystemParentData* pSysParent )
#if !GTK_CHECK_VERSION(3,0,0)
if( pSysParent ) // this may be the first system child frame now
GetGenericData()->ErrorTrapPush(); // permanantly ignore unruly children's errors
- createNewWindow( pSysParent->aWindow, (pSysParent->nSize > sizeof(long)) ? pSysParent->bXEmbedSupport : false, m_nScreen );
+ createNewWindow( pSysParent->aWindow, (pSysParent->nSize > sizeof(long)) ? pSysParent->bXEmbedSupport : false, m_nXScreen );
return true;
#else
(void)pSysParent;
@@ -2733,7 +2733,7 @@ bool GtkSalFrame::Dispatch( const XEvent* pEvent )
XLIB_Window aChild;
XTranslateCoordinates( getDisplay()->GetDisplay(),
widget_get_xid(m_pWindow),
- getDisplay()->GetRootWindow( getDisplay()->GetDefaultScreenNumber() ),
+ getDisplay()->GetRootWindow( getDisplay()->GetDefaultXScreen() ),
0, 0,
&x, &y,
&aChild );
@@ -2792,7 +2792,7 @@ void GtkSalFrame::SetBackgroundBitmap( SalBitmap* pBitmap )
widget_get_xid(m_pWindow),
aSize.Width(),
aSize.Height(),
- getDisplay()->GetVisual(m_nScreen).GetDepth() );
+ getDisplay()->GetVisual(m_nXScreen).GetDepth() );
if( m_hBackgroundPixmap )
{
SalTwoRect aTwoRect;
@@ -2800,10 +2800,10 @@ void GtkSalFrame::SetBackgroundBitmap( SalBitmap* pBitmap )
aTwoRect.mnSrcWidth = aTwoRect.mnDestWidth = aSize.Width();
aTwoRect.mnSrcHeight = aTwoRect.mnDestHeight = aSize.Height();
pBM->ImplDraw( m_hBackgroundPixmap,
- m_nScreen,
- getDisplay()->GetVisual(m_nScreen).GetDepth(),
+ m_nXScreen,
+ getDisplay()->GetVisual(m_nXScreen).GetDepth(),
aTwoRect,
- getDisplay()->GetCopyGC(m_nScreen) );
+ getDisplay()->GetCopyGC(m_nXScreen) );
XSetWindowBackgroundPixmap( getDisplay()->GetDisplay(),
widget_get_xid(m_pWindow),
m_hBackgroundPixmap );
@@ -4160,12 +4160,10 @@ gboolean GtkSalFrame::IMHandler::signalIMDeleteSurrounding( GtkIMContext*, gint
return sal_False;
}
-#if GTK_CHECK_VERSION(3,0,0)
-Size GtkSalDisplay::GetScreenSize( int nScreen )
+Size GtkSalDisplay::GetScreenSize( int nDisplayScreen )
{
- Rectangle aRect = m_pSys->GetDisplayScreenPosSizePixel( nScreen );
+ Rectangle aRect = m_pSys->GetDisplayScreenPosSizePixel( nDisplayScreen );
return Size( aRect.GetWidth(), aRect.GetHeight() );
}
-#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/unx/gtk/window/gtkobject.cxx b/vcl/unx/gtk/window/gtkobject.cxx
index 198bd263c4ac..7ca30237d2b0 100644
--- a/vcl/unx/gtk/window/gtkobject.cxx
+++ b/vcl/unx/gtk/window/gtkobject.cxx
@@ -66,10 +66,10 @@ GtkSalObject::GtkSalObject( GtkSalFrame* pParent, sal_Bool bShow )
m_aSystemData.aWindow = GDK_WINDOW_XWINDOW(widget_get_window(m_pSocket));
m_aSystemData.pSalFrame = NULL;
m_aSystemData.pWidget = m_pSocket;
- m_aSystemData.pVisual = pDisp->GetVisual(pParent->getScreenNumber()).GetVisual();
- m_aSystemData.nScreen = pParent->getScreenNumber();
- m_aSystemData.nDepth = pDisp->GetVisual(pParent->getScreenNumber()).GetDepth();
- m_aSystemData.aColormap = pDisp->GetColormap(pParent->getScreenNumber()).GetXColormap();
+ m_aSystemData.pVisual = pDisp->GetVisual(pParent->getXScreenNumber()).GetVisual();
+ m_aSystemData.nScreen = pParent->getXScreenNumber().getXScreen();
+ m_aSystemData.nDepth = pDisp->GetVisual(pParent->getXScreenNumber()).GetDepth();
+ m_aSystemData.aColormap = pDisp->GetColormap(pParent->getXScreenNumber()).GetXColormap();
m_aSystemData.pAppContext = NULL;
m_aSystemData.aShellWindow = GDK_WINDOW_XWINDOW(widget_get_window(GTK_WIDGET(pParent->getWindow())));
m_aSystemData.pShellWidget = GTK_WIDGET(pParent->getWindow());