Update ooo320-m1
[ooovba.git] / vcl / aqua / inc / salvd.h
blob993e7710254dbefba8a3ba24fcf4039c86fa8702
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: salvd.h,v $
10 * $Revision: 1.16 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef _SV_SALVD_H
32 #define _SV_SALVD_H
34 #include "premac.h"
35 #include <ApplicationServices/ApplicationServices.h>
36 #include "postmac.h"
38 #include "vcl/sv.h"
39 #include "vcl/salgdi.hxx"
40 #include "salconst.h"
41 #include "salcolorutils.hxx"
42 #include "vcl/salvd.hxx"
43 #include "salgdi.h"
45 #if PRAGMA_ONCE
46 #pragma once
47 #endif
49 // =======================================================================
51 // =======================================================================
53 // -----------------
54 // - SalVirDevData -
55 // -----------------
57 struct SalVirDevData
61 typedef struct SalVirDevData SalVirDevData;
62 typedef SalVirDevData *SalVirDevDataPtr;
63 typedef SalVirDevDataPtr *SalVirDevDataHandle;
65 // =======================================================================
67 class AquaSalGraphics;
69 // -----------------
70 // - SalVirDevData -
71 // -----------------
73 class AquaSalVirtualDevice : public SalVirtualDevice
75 private:
76 bool mbGraphicsUsed; // is Graphics used
77 bool mbForeignContext; // is mxContext from outside VCL
78 CGContextRef mxBitmapContext;
79 int mnBitmapDepth;
80 CGLayerRef mxLayer; // Quartz layer
81 AquaSalGraphics* mpGraphics; // current VirDev graphics
83 void Destroy();
85 public:
86 AquaSalVirtualDevice( AquaSalGraphics* pGraphic, long nDX, long nDY, USHORT nBitCount, const SystemGraphicsData *pData );
87 virtual ~AquaSalVirtualDevice();
89 virtual SalGraphics* GetGraphics();
90 virtual void ReleaseGraphics( SalGraphics* pGraphics );
91 virtual BOOL SetSize( long nNewDX, long nNewDY );
92 virtual void GetSize( long& rWidth, long& rHeight );
95 // =======================================================================
97 #endif // _SV_SALVD_H