15d39f272SZheng Fan /**************************************************************
25d39f272SZheng Fan  *
35d39f272SZheng Fan  * Licensed to the Apache Software Foundation (ASF) under one
45d39f272SZheng Fan  * or more contributor license agreements.  See the NOTICE file
55d39f272SZheng Fan  * distributed with this work for additional information
65d39f272SZheng Fan  * regarding copyright ownership.  The ASF licenses this file
75d39f272SZheng Fan  * to you under the Apache License, Version 2.0 (the
85d39f272SZheng Fan  * "License"); you may not use this file except in compliance
95d39f272SZheng Fan  * with the License.  You may obtain a copy of the License at
105d39f272SZheng Fan  *
115d39f272SZheng Fan  *   http://www.apache.org/licenses/LICENSE-2.0
125d39f272SZheng Fan  *
135d39f272SZheng Fan  * Unless required by applicable law or agreed to in writing,
145d39f272SZheng Fan  * software distributed under the License is distributed on an
155d39f272SZheng Fan  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
165d39f272SZheng Fan  * KIND, either express or implied.  See the License for the
175d39f272SZheng Fan  * specific language governing permissions and limitations
185d39f272SZheng Fan  * under the License.
195d39f272SZheng Fan  *
205d39f272SZheng Fan  *************************************************************/
215d39f272SZheng Fan 
225d39f272SZheng Fan #include "SidebarDialControlBmp.hxx"
235d39f272SZheng Fan 
245d39f272SZheng Fan #include <sfx2/sidebar/Theme.hxx>
255d39f272SZheng Fan 
265d39f272SZheng Fan #include <vcl/svapp.hxx>
275d39f272SZheng Fan 
285d39f272SZheng Fan #include "PosSizePropertyPanel.hrc"
295d39f272SZheng Fan #include <svx/dialogs.hrc>
305d39f272SZheng Fan #include <svx/dialmgr.hxx>
31facb16e7SArmin Le Grand #include <svx/svdstr.hrc>
325d39f272SZheng Fan 
335d39f272SZheng Fan namespace svx { namespace sidebar {
345d39f272SZheng Fan 
SidebarDialControlBmp(Window & rParent)355d39f272SZheng Fan SidebarDialControlBmp::SidebarDialControlBmp (Window& rParent)
365d39f272SZheng Fan     : DialControlBmp(rParent)
375d39f272SZheng Fan {
385d39f272SZheng Fan }
395d39f272SZheng Fan 
405d39f272SZheng Fan 
415d39f272SZheng Fan 
425d39f272SZheng Fan 
~SidebarDialControlBmp(void)435d39f272SZheng Fan SidebarDialControlBmp::~SidebarDialControlBmp (void)
445d39f272SZheng Fan {
455d39f272SZheng Fan }
465d39f272SZheng Fan 
475d39f272SZheng Fan 
485d39f272SZheng Fan 
495d39f272SZheng Fan 
DrawElements(const String &,sal_Int32 nAngle)505d39f272SZheng Fan void SidebarDialControlBmp::DrawElements (
518a383445SArmin Le Grand     const String& /*rText*/,
525d39f272SZheng Fan     sal_Int32 nAngle)
535d39f272SZheng Fan {
545d39f272SZheng Fan     if (Application::GetSettings().GetLayoutRTL())
555d39f272SZheng Fan         nAngle = 18000 - nAngle;
565d39f272SZheng Fan     double fAngle = nAngle * F_PI180 / 100.0;
575d39f272SZheng Fan     double fSin = sin( fAngle );
585d39f272SZheng Fan     double fCos = cos( fAngle );
595d39f272SZheng Fan     DrawText( maRect, String(), mbEnabled ? 0 : TEXT_DRAW_DISABLE );
605d39f272SZheng Fan     const sal_Int32 nDx (fCos * (maRect.GetWidth()-4) / 2);
615d39f272SZheng Fan     const sal_Int32 nDy (-fSin * (maRect.GetHeight()-4) / 2);
625d39f272SZheng Fan     Point pt1( maRect.Center() );
635d39f272SZheng Fan     Point pt2( pt1.X() + nDx, pt1.Y() + nDy);
645d39f272SZheng Fan     if ( ! sfx2::sidebar::Theme::IsHighContrastMode())
655d39f272SZheng Fan         SetLineColor( Color( 60, 93, 138 ) );
665d39f272SZheng Fan     else
675d39f272SZheng Fan         SetLineColor(COL_BLACK);//Application::GetSettings().GetStyleSettings().GetFieldTextColor()
685d39f272SZheng Fan     DrawLine( pt1, pt2 );
695d39f272SZheng Fan }
705d39f272SZheng Fan 
715d39f272SZheng Fan 
725d39f272SZheng Fan 
735d39f272SZheng Fan 
DrawBackground()745d39f272SZheng Fan void SidebarDialControlBmp::DrawBackground()
755d39f272SZheng Fan {
765d39f272SZheng Fan     SetLineColor();
775d39f272SZheng Fan     SetFillColor(sfx2::sidebar::Theme::GetColor(sfx2::sidebar::Theme::Paint_PanelBackground));
785d39f272SZheng Fan     DrawRect(maRect);
795d39f272SZheng Fan 
80facb16e7SArmin Le Grand     const BitmapEx aBitmapEx(
815d39f272SZheng Fan         sfx2::sidebar::Theme::IsHighContrastMode()
825d39f272SZheng Fan             ? SVX_RES(IMG_DIACONTROL_H)
835d39f272SZheng Fan             : SVX_RES(IMG_DIACONTROL_NORMAL));
84facb16e7SArmin Le Grand     // Size aImageSize(aBitmapEx.GetSizePixel());
855d39f272SZheng Fan     //    aImageSize.Width() -= 1;
865d39f272SZheng Fan     //    aImageSize.Height() -= 1;
875d39f272SZheng Fan     SetAntialiasing(ANTIALIASING_ENABLE_B2DDRAW |  ANTIALIASING_PIXELSNAPHAIRLINE);
88facb16e7SArmin Le Grand     DrawBitmapEx(maRect.TopLeft(), /*aImageSize,*/ aBitmapEx);
895d39f272SZheng Fan }
905d39f272SZheng Fan 
915d39f272SZheng Fan 
925d39f272SZheng Fan } } // end of namespace svx::sidebar
93*4e8031e0SArmin Le Grand 
94*4e8031e0SArmin Le Grand // eof
95