1*721f296aSOliver-Rainer Wittmann /************************************************************** 2*721f296aSOliver-Rainer Wittmann * 3*721f296aSOliver-Rainer Wittmann * Licensed to the Apache Software Foundation (ASF) under one 4*721f296aSOliver-Rainer Wittmann * or more contributor license agreements. See the NOTICE file 5*721f296aSOliver-Rainer Wittmann * distributed with this work for additional information 6*721f296aSOliver-Rainer Wittmann * regarding copyright ownership. The ASF licenses this file 7*721f296aSOliver-Rainer Wittmann * to you under the Apache License, Version 2.0 (the 8*721f296aSOliver-Rainer Wittmann * "License"); you may not use this file except in compliance 9*721f296aSOliver-Rainer Wittmann * with the License. You may obtain a copy of the License at 10*721f296aSOliver-Rainer Wittmann * 11*721f296aSOliver-Rainer Wittmann * http://www.apache.org/licenses/LICENSE-2.0 12*721f296aSOliver-Rainer Wittmann * 13*721f296aSOliver-Rainer Wittmann * Unless required by applicable law or agreed to in writing, 14*721f296aSOliver-Rainer Wittmann * software distributed under the License is distributed on an 15*721f296aSOliver-Rainer Wittmann * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*721f296aSOliver-Rainer Wittmann * KIND, either express or implied. See the License for the 17*721f296aSOliver-Rainer Wittmann * specific language governing permissions and limitations 18*721f296aSOliver-Rainer Wittmann * under the License. 19*721f296aSOliver-Rainer Wittmann * 20*721f296aSOliver-Rainer Wittmann *************************************************************/ 21*721f296aSOliver-Rainer Wittmann 22*721f296aSOliver-Rainer Wittmann #include "precompiled_sfx2.hxx" 23*721f296aSOliver-Rainer Wittmann 24*721f296aSOliver-Rainer Wittmann #include "CustomImageRadioButton.hxx" 25*721f296aSOliver-Rainer Wittmann 26*721f296aSOliver-Rainer Wittmann #include "DrawHelper.hxx" 27*721f296aSOliver-Rainer Wittmann #include "Paint.hxx" 28*721f296aSOliver-Rainer Wittmann #include "Tools.hxx" 29*721f296aSOliver-Rainer Wittmann 30*721f296aSOliver-Rainer Wittmann using namespace ::com::sun::star; 31*721f296aSOliver-Rainer Wittmann using namespace ::com::sun::star::uno; 32*721f296aSOliver-Rainer Wittmann 33*721f296aSOliver-Rainer Wittmann 34*721f296aSOliver-Rainer Wittmann namespace sfx2 { namespace sidebar { 35*721f296aSOliver-Rainer Wittmann 36*721f296aSOliver-Rainer Wittmann 37*721f296aSOliver-Rainer Wittmann CustomImageRadioButton::CustomImageRadioButton ( 38*721f296aSOliver-Rainer Wittmann Window* pParentWindow, 39*721f296aSOliver-Rainer Wittmann const ResId& rResId ) 40*721f296aSOliver-Rainer Wittmann : ImageRadioButton( pParentWindow, rResId ) 41*721f296aSOliver-Rainer Wittmann { 42*721f296aSOliver-Rainer Wittmann SetStyle( GetStyle() | WB_NOPOINTERFOCUS ); 43*721f296aSOliver-Rainer Wittmann } 44*721f296aSOliver-Rainer Wittmann 45*721f296aSOliver-Rainer Wittmann 46*721f296aSOliver-Rainer Wittmann CustomImageRadioButton::~CustomImageRadioButton (void) 47*721f296aSOliver-Rainer Wittmann { 48*721f296aSOliver-Rainer Wittmann } 49*721f296aSOliver-Rainer Wittmann 50*721f296aSOliver-Rainer Wittmann 51*721f296aSOliver-Rainer Wittmann void CustomImageRadioButton::Paint (const Rectangle& rUpdateArea) 52*721f296aSOliver-Rainer Wittmann { 53*721f296aSOliver-Rainer Wittmann Rectangle aPaintRect( Rectangle(Point(0,0), GetSizePixel() ) ); 54*721f296aSOliver-Rainer Wittmann SetMouseRect( aPaintRect ); 55*721f296aSOliver-Rainer Wittmann SetStateRect( aPaintRect ); 56*721f296aSOliver-Rainer Wittmann 57*721f296aSOliver-Rainer Wittmann const Theme::ThemeItem eBackground = 58*721f296aSOliver-Rainer Wittmann IsChecked() 59*721f296aSOliver-Rainer Wittmann ? Theme::Paint_PanelTitleBarBackground 60*721f296aSOliver-Rainer Wittmann : IsMouseOver() 61*721f296aSOliver-Rainer Wittmann ? Theme::Paint_TabItemBackgroundHighlight 62*721f296aSOliver-Rainer Wittmann : Theme::Paint_PanelBackground; 63*721f296aSOliver-Rainer Wittmann DrawHelper::DrawRoundedRectangle( 64*721f296aSOliver-Rainer Wittmann *this, 65*721f296aSOliver-Rainer Wittmann aPaintRect, 66*721f296aSOliver-Rainer Wittmann 2, 67*721f296aSOliver-Rainer Wittmann IsChecked() ? Theme::GetColor(Theme::Color_TabItemBorder) : Color(0xffffffff), 68*721f296aSOliver-Rainer Wittmann Theme::GetPaint( eBackground ) ); 69*721f296aSOliver-Rainer Wittmann 70*721f296aSOliver-Rainer Wittmann //const Image aIcon (Button::GetModeImage(Theme::IsHighContrastMode() 71*721f296aSOliver-Rainer Wittmann const Image aIcon (GetModeRadioImage(Theme::IsHighContrastMode() 72*721f296aSOliver-Rainer Wittmann ? BMP_COLOR_HIGHCONTRAST 73*721f296aSOliver-Rainer Wittmann : BMP_COLOR_NORMAL)); 74*721f296aSOliver-Rainer Wittmann const Size aIconSize (aIcon.GetSizePixel()); 75*721f296aSOliver-Rainer Wittmann const Point aIconLocation( 76*721f296aSOliver-Rainer Wittmann (GetSizePixel().Width() - aIconSize.Width())/2, 77*721f296aSOliver-Rainer Wittmann (GetSizePixel().Height() - aIconSize.Height())/2 ); 78*721f296aSOliver-Rainer Wittmann DrawImage( 79*721f296aSOliver-Rainer Wittmann aIconLocation, 80*721f296aSOliver-Rainer Wittmann aIcon, 81*721f296aSOliver-Rainer Wittmann IsEnabled() ? 0 : IMAGE_DRAW_DISABLE ); 82*721f296aSOliver-Rainer Wittmann } 83*721f296aSOliver-Rainer Wittmann 84*721f296aSOliver-Rainer Wittmann 85*721f296aSOliver-Rainer Wittmann } } // end of namespace sfx2::sidebar 86