1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski #ifndef _SV_DECOVIEW_HXX 25*b1cdbd2cSJim Jagielski #define _SV_DECOVIEW_HXX 26*b1cdbd2cSJim Jagielski 27*b1cdbd2cSJim Jagielski #include <vcl/sv.h> 28*b1cdbd2cSJim Jagielski #include <vcl/dllapi.h> 29*b1cdbd2cSJim Jagielski #include <vcl/symbol.hxx> 30*b1cdbd2cSJim Jagielski 31*b1cdbd2cSJim Jagielski class Rectangle; 32*b1cdbd2cSJim Jagielski class Point; 33*b1cdbd2cSJim Jagielski class Color; 34*b1cdbd2cSJim Jagielski class OutputDevice; 35*b1cdbd2cSJim Jagielski 36*b1cdbd2cSJim Jagielski // ------------------------ 37*b1cdbd2cSJim Jagielski // - DecorationView-Types - 38*b1cdbd2cSJim Jagielski // ------------------------ 39*b1cdbd2cSJim Jagielski 40*b1cdbd2cSJim Jagielski // Flags for DrawSymbol() 41*b1cdbd2cSJim Jagielski #define SYMBOL_DRAW_MONO ((sal_uInt16)0x0001) 42*b1cdbd2cSJim Jagielski #define SYMBOL_DRAW_DISABLE ((sal_uInt16)0x0002) 43*b1cdbd2cSJim Jagielski 44*b1cdbd2cSJim Jagielski // Flags for DrawFrame() 45*b1cdbd2cSJim Jagielski #define FRAME_DRAW_IN ((sal_uInt16)0x0001) 46*b1cdbd2cSJim Jagielski #define FRAME_DRAW_OUT ((sal_uInt16)0x0002) 47*b1cdbd2cSJim Jagielski #define FRAME_DRAW_GROUP ((sal_uInt16)0x0003) 48*b1cdbd2cSJim Jagielski #define FRAME_DRAW_DOUBLEIN ((sal_uInt16)0x0004) 49*b1cdbd2cSJim Jagielski #define FRAME_DRAW_DOUBLEOUT ((sal_uInt16)0x0005) 50*b1cdbd2cSJim Jagielski #define FRAME_DRAW_MENU ((sal_uInt16)0x0010) 51*b1cdbd2cSJim Jagielski #define FRAME_DRAW_WINDOWBORDER ((sal_uInt16)0x0020) 52*b1cdbd2cSJim Jagielski #define FRAME_DRAW_BORDERWINDOWBORDER ((sal_uInt16)0x0040) 53*b1cdbd2cSJim Jagielski #define FRAME_DRAW_MONO ((sal_uInt16)0x1000) 54*b1cdbd2cSJim Jagielski #define FRAME_DRAW_NODRAW ((sal_uInt16)0x8000) 55*b1cdbd2cSJim Jagielski #define FRAME_DRAW_STYLE ((sal_uInt16)0x000F) 56*b1cdbd2cSJim Jagielski 57*b1cdbd2cSJim Jagielski // Flags for DrawHighlightFrame() 58*b1cdbd2cSJim Jagielski #define FRAME_HIGHLIGHT_IN ((sal_uInt16)0x0001) 59*b1cdbd2cSJim Jagielski #define FRAME_HIGHLIGHT_OUT ((sal_uInt16)0x0002) 60*b1cdbd2cSJim Jagielski #define FRAME_HIGHLIGHT_TESTBACKGROUND ((sal_uInt16)0x4000) 61*b1cdbd2cSJim Jagielski #define FRAME_HIGHLIGHT_STYLE ((sal_uInt16)0x000F) 62*b1cdbd2cSJim Jagielski 63*b1cdbd2cSJim Jagielski // Flags for DrawButton() 64*b1cdbd2cSJim Jagielski #define BUTTON_DRAW_DEFAULT ((sal_uInt16)0x0001) 65*b1cdbd2cSJim Jagielski #define BUTTON_DRAW_NOLIGHTBORDER ((sal_uInt16)0x0002) 66*b1cdbd2cSJim Jagielski #define BUTTON_DRAW_PRESSED ((sal_uInt16)0x0004) 67*b1cdbd2cSJim Jagielski #define BUTTON_DRAW_CHECKED ((sal_uInt16)0x0008) 68*b1cdbd2cSJim Jagielski #define BUTTON_DRAW_DONTKNOW ((sal_uInt16)0x0010) 69*b1cdbd2cSJim Jagielski #define BUTTON_DRAW_MONO ((sal_uInt16)0x0020) 70*b1cdbd2cSJim Jagielski #define BUTTON_DRAW_NOFILL ((sal_uInt16)0x0040) 71*b1cdbd2cSJim Jagielski #define BUTTON_DRAW_DISABLED ((sal_uInt16)0x0080) 72*b1cdbd2cSJim Jagielski #define BUTTON_DRAW_HIGHLIGHT ((sal_uInt16)0x0100) 73*b1cdbd2cSJim Jagielski #define BUTTON_DRAW_FLAT ((sal_uInt16)0x0200) 74*b1cdbd2cSJim Jagielski #define BUTTON_DRAW_NOTOPLIGHTBORDER ((sal_uInt16)0x0400) 75*b1cdbd2cSJim Jagielski #define BUTTON_DRAW_NOBOTTOMSHADOWBORDER ((sal_uInt16)0x0800) 76*b1cdbd2cSJim Jagielski #define BUTTON_DRAW_NOLEFTLIGHTBORDER ((sal_uInt16)0x1000) 77*b1cdbd2cSJim Jagielski #define BUTTON_DRAW_NOTEXT ((sal_uInt16)0x2000) 78*b1cdbd2cSJim Jagielski #define BUTTON_DRAW_NOIMAGE ((sal_uInt16)0x4000) 79*b1cdbd2cSJim Jagielski #define BUTTON_DRAW_NODRAW ((sal_uInt16)0x8000) 80*b1cdbd2cSJim Jagielski 81*b1cdbd2cSJim Jagielski // ------------------ 82*b1cdbd2cSJim Jagielski // - DecorationView - 83*b1cdbd2cSJim Jagielski // ------------------ 84*b1cdbd2cSJim Jagielski 85*b1cdbd2cSJim Jagielski class VCL_DLLPUBLIC DecorationView 86*b1cdbd2cSJim Jagielski { 87*b1cdbd2cSJim Jagielski private: 88*b1cdbd2cSJim Jagielski OutputDevice* mpOutDev; 89*b1cdbd2cSJim Jagielski 90*b1cdbd2cSJim Jagielski public: DecorationView(OutputDevice * pOutDev)91*b1cdbd2cSJim Jagielski DecorationView( OutputDevice* pOutDev ) 92*b1cdbd2cSJim Jagielski { mpOutDev = pOutDev; } 93*b1cdbd2cSJim Jagielski 94*b1cdbd2cSJim Jagielski void DrawSymbol( const Rectangle& rRect, SymbolType eType, 95*b1cdbd2cSJim Jagielski const Color& rColor, sal_uInt16 nStyle = 0 ); 96*b1cdbd2cSJim Jagielski void DrawFrame( const Rectangle& rRect, 97*b1cdbd2cSJim Jagielski const Color& rLeftTopColor, 98*b1cdbd2cSJim Jagielski const Color& rRightBottomColor ); 99*b1cdbd2cSJim Jagielski void DrawHighlightFrame( const Rectangle& rRect, 100*b1cdbd2cSJim Jagielski sal_uInt16 nStyle = FRAME_HIGHLIGHT_OUT ); 101*b1cdbd2cSJim Jagielski Rectangle DrawFrame( const Rectangle& rRect, sal_uInt16 nStyle = FRAME_DRAW_OUT ); 102*b1cdbd2cSJim Jagielski Rectangle DrawButton( const Rectangle& rRect, sal_uInt16 nStyle ); 103*b1cdbd2cSJim Jagielski void DrawSeparator( const Point& rStart, const Point& rStop, bool bVertical = true ); 104*b1cdbd2cSJim Jagielski }; 105*b1cdbd2cSJim Jagielski 106*b1cdbd2cSJim Jagielski #endif // _SV_DECOVIEW_HXX 107