2010-10-14 01:27:31 -05:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2007-04-11 12:06:25 -05:00
|
|
|
/*************************************************************************
|
|
|
|
*
|
2008-04-11 01:53:59 -05:00
|
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
2007-04-11 12:06:25 -05:00
|
|
|
*
|
2010-02-12 08:01:35 -06:00
|
|
|
* Copyright 2000, 2010 Oracle and/or its affiliates.
|
2007-04-11 12:06:25 -05:00
|
|
|
*
|
2008-04-11 01:53:59 -05:00
|
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
2007-04-11 12:06:25 -05:00
|
|
|
*
|
2008-04-11 01:53:59 -05:00
|
|
|
* This file is part of OpenOffice.org.
|
2007-04-11 12:06:25 -05:00
|
|
|
*
|
2008-04-11 01:53:59 -05:00
|
|
|
* OpenOffice.org is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU Lesser General Public License version 3
|
|
|
|
* only, as published by the Free Software Foundation.
|
2007-04-11 12:06:25 -05:00
|
|
|
*
|
2008-04-11 01:53:59 -05:00
|
|
|
* OpenOffice.org is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU Lesser General Public License version 3 for more details
|
|
|
|
* (a copy is included in the LICENSE file that accompanied this code).
|
2007-04-11 12:06:25 -05:00
|
|
|
*
|
2008-04-11 01:53:59 -05:00
|
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
|
|
* version 3 along with OpenOffice.org. If not, see
|
|
|
|
* <http://www.openoffice.org/license.html>
|
|
|
|
* for a copy of the LGPLv3 License.
|
2007-04-11 12:06:25 -05:00
|
|
|
*
|
|
|
|
************************************************************************/
|
|
|
|
|
|
|
|
#ifndef _SV_SALGDI_HXX
|
|
|
|
#define _SV_SALGDI_HXX
|
|
|
|
|
2012-06-10 11:26:30 -05:00
|
|
|
#include "tools/solar.h"
|
2008-02-19 08:48:11 -06:00
|
|
|
#include "vcl/dllapi.h"
|
|
|
|
#include "vcl/salgtype.hxx"
|
2010-10-10 21:29:08 -05:00
|
|
|
#include "osl/thread.hxx"
|
2008-02-19 08:48:11 -06:00
|
|
|
#include "vcl/outdev.hxx"
|
|
|
|
#include "vcl/salnativewidgets.hxx"
|
2011-06-09 02:54:17 -05:00
|
|
|
#include "sallayout.hxx"
|
2007-04-11 12:06:25 -05:00
|
|
|
|
|
|
|
#include <map>
|
|
|
|
|
2011-11-21 02:00:21 -06:00
|
|
|
namespace rtl
|
|
|
|
{
|
|
|
|
class OUString;
|
|
|
|
}
|
|
|
|
|
2007-04-11 12:06:25 -05:00
|
|
|
class ImplDevFontList;
|
|
|
|
class SalBitmap;
|
2011-10-27 10:08:14 -05:00
|
|
|
class FontSelectPattern;
|
2007-04-11 12:06:25 -05:00
|
|
|
class ImplFontMetricData;
|
|
|
|
struct ImplKernPairData;
|
2012-06-19 06:24:37 -05:00
|
|
|
class PhysicalFontFace;
|
2007-04-11 12:06:25 -05:00
|
|
|
class ImplFontCharMap;
|
|
|
|
class SalLayout;
|
|
|
|
class ImplLayoutArgs;
|
|
|
|
class Rectangle;
|
2009-08-27 07:02:29 -05:00
|
|
|
class FontSubsetInfo;
|
2007-04-11 12:06:25 -05:00
|
|
|
class OutputDevice;
|
|
|
|
class ServerFontLayout;
|
|
|
|
struct SystemGraphicsData;
|
2009-05-18 07:01:49 -05:00
|
|
|
struct SystemFontData;
|
2007-04-11 12:06:25 -05:00
|
|
|
|
2008-05-30 04:05:07 -05:00
|
|
|
namespace basegfx {
|
|
|
|
class B2DVector;
|
|
|
|
class B2DPolygon;
|
|
|
|
class B2DPolyPolygon;
|
|
|
|
}
|
2007-04-11 12:06:25 -05:00
|
|
|
|
|
|
|
// ---------------------
|
|
|
|
// - SalGraphics-Codes -
|
|
|
|
// ---------------------
|
|
|
|
|
2010-09-29 02:46:40 -05:00
|
|
|
#define SAL_SETFONT_REMOVEANDMATCHNEW ((sal_uInt16)0x0001)
|
|
|
|
#define SAL_SETFONT_USEDRAWTEXT ((sal_uInt16)0x0002)
|
|
|
|
#define SAL_SETFONT_USEDRAWTEXTARRAY ((sal_uInt16)0x0004)
|
|
|
|
#define SAL_SETFONT_UNICODE ((sal_uInt16)0x0008)
|
|
|
|
#define SAL_SETFONT_BADFONT ((sal_uInt16)0x1000)
|
2007-04-11 12:06:25 -05:00
|
|
|
|
2010-09-29 02:46:40 -05:00
|
|
|
#define SAL_COPYAREA_WINDOWINVALIDATE ((sal_uInt16)0x0001)
|
2007-04-11 12:06:25 -05:00
|
|
|
|
2008-03-31 07:23:40 -05:00
|
|
|
// -------------------
|
|
|
|
// - common typedefs -
|
|
|
|
// -------------------
|
|
|
|
|
|
|
|
typedef sal_Unicode sal_Ucs; // TODO: use sal_UCS4 instead of sal_Unicode
|
|
|
|
typedef std::map< sal_Ucs, sal_Int32 > Ucs2SIntMap;
|
|
|
|
typedef std::map< sal_Ucs, sal_uInt32 > Ucs2UIntMap;
|
|
|
|
typedef std::map< sal_Ucs, rtl::OString > Ucs2OStrMap;
|
|
|
|
typedef std::vector< sal_Int32 > Int32Vector;
|
|
|
|
|
2007-04-11 12:06:25 -05:00
|
|
|
// ---------------
|
|
|
|
// - SalGraphics -
|
|
|
|
// ---------------
|
|
|
|
|
|
|
|
// note: if you add any new methods to class SalGraphics using coordinates
|
|
|
|
// make sure they have a corresponding protected pure virtual method
|
|
|
|
// which has to be implemented by the platform dependent part.
|
|
|
|
// Add a method that performs coordinate mirroring if required, (see
|
|
|
|
// existing methods as sample) and then calls the equivalent pure method.
|
|
|
|
|
|
|
|
// note: all positions are in pixel and relative to
|
|
|
|
// the top/left-position of the virtual output area
|
|
|
|
|
2010-12-08 06:53:30 -06:00
|
|
|
class VCL_PLUGIN_PUBLIC SalGraphics
|
2007-04-11 12:06:25 -05:00
|
|
|
{
|
|
|
|
int m_nLayout; // 0: mirroring off, 1: mirror x-axis
|
CWS-TOOLING: integrate CWS aw059
2008-12-16 16:15:40 +0100 aw r265557 : #i95645# avoid expensive tries to stream in graphic data when stream is at end anyways
2008-12-15 16:49:58 +0100 wg r265512 : i97278
2008-12-12 16:02:15 +0100 aw r265427 : #i95645# new formulation was wrong in two places; thanks go to THB. Thanks!
2008-12-12 15:49:06 +0100 aw r265425 : #i95645# refined formulation of AA on/off constraints for VCLCanvas
2008-12-12 14:51:26 +0100 aw r265420 : #i95645# workaround for DrawTransparent of button hilighting when remote displayed; somehow GDI+ does bad dithering in that case
2008-12-12 13:23:00 +0100 aw r265414 : removed temporary build hack; it made it's way in using the rebase; with SVN the rebase is not based on pure checkouts, but uses local changes.
2008-12-11 19:35:59 +0100 aw r265352 : #i95645# need to switch off AA for WNT and UNX, the VCLCanvas is currently not able to handle AA correctly
2008-12-11 16:05:17 +0100 thb r265327 : #i95645# Changed defaults to on; as for the while svx dialog is not changed
2008-12-10 13:40:38 +0100 aw r265180 : #i95645# changed pixel snap to basegfx::fround
2008-12-10 13:25:45 +0100 aw r265177 : corrected linux warning
2008-12-10 12:28:02 +0100 aw r265167 : #i95645# added support for pixel snap/linux resp. no AA for mac (also pixel snap) when AA is switched off to the basegfx::B2DPolyPolygon painting VCL methods; needed for e.g. selection in SC and SW
2008-12-09 18:44:39 +0100 aw r265136 : #i95645# corrected filled path construction
2008-12-09 18:12:40 +0100 aw r265133 : #i95645# added support for non-AAd transparent paints
2008-12-09 18:11:58 +0100 aw r265132 : #i95645# forced selection without AA
2008-12-09 18:11:29 +0100 aw r265131 : #i88893# smoothed/corrected SW selection rects for transparent selection, forced selection without AA
2008-12-09 15:21:39 +0100 aw r265094 : #i95645# corrected FormControl full drag
2008-12-09 15:11:26 +0100 aw r265093 : #i95645# make gdiplus usages more safe when no line or fill color is selected
2008-12-09 14:30:09 +0100 aw r265085 : #i95645# added GDIPlus support
2008-12-09 13:41:06 +0100 aw r265081 : #i95645# added simple AA using GDIPlis to VCL
2008-12-09 13:40:46 +0100 aw r265080 : #i95645# added simple AA using GDIPlis to VCL
2008-12-09 13:40:29 +0100 aw r265079 : #i95645# added simple AA using GDIPlis to VCL
2008-12-09 13:33:16 +0100 aw r265078 : #i95645# changes to requirements, discussed with FPE
2008-12-08 14:11:39 +0100 aw r264995 : #i95646# added missing extra-wireframe for SdrDragObjOwn implementations when object has no border
2008-12-08 14:11:00 +0100 aw r264994 : #i95646# corrected RenderMarkerArrayPrimitive2D OutDev usage in VclProcessor2D
2008-12-08 12:15:10 +0100 ufi r264987 : aw059
2008-12-08 12:14:40 +0100 ufi r264986 : aw059
2008-12-05 13:16:18 +0100 aw r264905 : CWS-TOOLING: rebase CWS aw059 to trunk@264807 (milestone: DEV300:m37)
2008-12-04 11:29:48 +0100 aw r264827 : #i95645# corrected warning
2008-12-03 14:43:39 +0100 aw r264783 : #i95645# simplified overlay manager and objects to stl vector; added stuff to render some more overlay to primitive renderer to get AA support for WIN32
2008-12-03 14:42:43 +0100 aw r264782 : #i95645# added test for WIN32 for AA if cairo canvas is available
2008-12-03 14:42:13 +0100 aw r264781 : #i95645# removed unused options for writer selection overlay
2008-12-03 14:41:51 +0100 aw r264780 : #i95645# removed unused options for calc overlay
2008-12-03 14:41:21 +0100 aw r264779 : #i95645# small corrections in canvas renderer
2008-12-02 18:32:31 +0100 aw r264730 : #i95646# merged cairo version from THB's CWS cairosource01
2008-12-02 15:25:45 +0100 aw r264705 : #i95645# added helpers for the MarkerArrayPrimitive2D change which support buffered creation of the most used markers
2008-12-02 12:50:01 +0100 aw r264690 : #i95645# added a non-saved method IsAAPossibleOnThisSystem to SvtOptionsDrawinglayer to quickly test if AA can be offered on the system, added buffering of that check.
2008-12-02 12:48:51 +0100 aw r264689 : #i95645# unified MarkerArrayPrimitive2D to work bitmap-orientated, adapted usages. Added buffered preparation for needed markers. Minor adaptions for AA
2008-12-02 12:47:53 +0100 aw r264688 : #i95645# unified MarkerArrayPrimitive2D to no longer work on a enum and types of markers, but to use a BitmapEx (or any other Bitmap object) which will be displayed centerd and in discrete coordinates at positions. Adapted decomposition and all usages. Corrected minor stuff with grid primitive
2008-11-28 17:11:12 +0100 thb r264565 : #i95645# Added two more lists to config; to be able to differentiate canvas capabilities
2008-11-28 17:03:27 +0100 thb r264563 : #i95645# Added two more lists to config; to be able to differentiate canvas capabilities
2008-11-28 17:00:07 +0100 thb r264562 : #i95645# Added two more lists to config; to be able to differentiate canvas capabilities
2008-11-28 16:59:51 +0100 thb r264561 : #i95645# Added two more lists to config; to be able to differentiate canvas capabilities
2008-11-27 19:13:42 +0100 aw r264519 : #i95646# optimized getLength() a little bit
2008-11-27 19:12:50 +0100 aw r264518 : #i95646# corrected AA expansion of invalidate frame; buffered discrete distance at OM
2008-11-27 18:50:05 +0100 aw r264516 : #i95646# corrected fit to frame texts for WIN32
2008-11-27 15:32:15 +0100 aw r264496 : #i95646# helplines corrected
2008-11-27 15:32:05 +0100 aw r264495 : #i95646# helplines corrected
2008-11-27 15:01:30 +0100 aw r264492 : #i95646# enable AA support for old polygons, especially to get support for MetaFile output
2008-11-27 14:33:28 +0100 aw r264489 : #i95646# AA support for wireframe overlays
2008-11-27 13:40:54 +0100 aw r264485 : #i95646# added full repaint when AA option changes
2008-11-27 13:29:19 +0100 aw r264482 : #i95646# corrected handling of bSolidDragging config entries
2008-11-27 13:29:08 +0100 aw r264481 : #i95646# corrected handling of bSolidDragging config entries
2008-11-27 11:30:12 +0100 aw r264469 : #i95646# corrected IsAAPossibleOnThisSystem implementation
2008-11-26 16:33:04 +0100 aw r264420 : #i95646# adapted OfaViewTabPage to use disable mechanism for AA and HWAccel
2008-11-26 15:49:19 +0100 aw r264406 : #i95646# added DlgEdObj::getFullDragClone() to create specialized simple SdrUnoObj clones for solid dragging
2008-11-26 15:48:11 +0100 aw r264405 : #i95646# changed derivation of ViewObjectContactOfUnoControl to get a valid isPrimitiveVisible() implementation
2008-11-26 14:11:37 +0100 aw r264385 : #i88893# added new look for selection in sw
2008-11-26 11:32:33 +0100 aw r264360 : corrected compiler warning
2008-11-25 18:46:29 +0100 aw r264328 : #i95646# snapshot with FullDrag clones
2008-11-25 18:46:07 +0100 aw r264327 : #i95646# snapshot with FullDrag clones
2008-11-25 18:45:43 +0100 aw r264326 : #i95646# snapshot with FullDrag clones
2008-11-25 18:19:04 +0100 thb r264324 : #i96585# Added missing inline specifier
2008-11-25 13:16:25 +0100 aw r264285 : #i95646# next snapshot
2008-11-25 13:15:33 +0100 aw r264284 : #i95646# next snapshot
2008-11-25 13:15:12 +0100 aw r264283 : #i95646# next snapshot
2008-11-25 13:14:51 +0100 aw r264282 : #i95646# next snapshot
2008-11-20 13:40:49 +0100 aw r264045 : #i95646# stable snapshot
2008-11-20 13:40:29 +0100 aw r264044 : #i95646# stable snapshot
2008-11-20 13:40:06 +0100 aw r264043 : #i95646# stable snapshot
2008-11-20 13:39:45 +0100 aw r264042 : #i95646# stable snapshot
2008-11-18 11:53:39 +0100 aw r263758 : #i95646# snapshot for linux test build
2008-11-18 11:52:54 +0100 aw r263757 : #i95646# snapshot for linux test build
2008-11-18 11:52:02 +0100 aw r263756 : #i95646# snapshot for linux test build
2008-11-14 18:17:49 +0100 aw r263692 : #i95646# snapshot with most stuff working
2008-11-14 18:14:26 +0100 aw r263691 : #i95646# snapshot with most stuff working
2008-11-14 18:12:50 +0100 aw r263690 : #i95646# snapshot with most stuff working
2008-11-14 18:12:16 +0100 aw r263689 : #i95646# snapshot with most stuff working
2008-11-14 18:11:41 +0100 aw r263688 : #i95646# snapshot with most stuff working
2008-11-07 18:44:22 +0100 aw r263479 : #i95968# better support PrefMapMode; special for MAP_PIXEL was missing
2008-11-05 17:39:15 +0100 aw r263356 : #i95644# #i95645# #i95646# bigger change done, saving for another experiment
2008-11-05 17:39:02 +0100 aw r263355 : #i95644# #i95645# #i95646# bigger change done, saving for another experiment
2008-11-05 12:28:32 +0100 aw r263350 : #i95644# #i95645# #i95646# in-between state before bigger change
2008-11-05 12:27:51 +0100 aw r263349 : #i95644# #i95645# #i95646# in-between state before bigger change
2008-11-05 12:26:58 +0100 aw r263348 : #i95644# #i95645# #i95646# in-between state before bigger change
2008-11-05 12:26:17 +0100 aw r263347 : #i95644# #i95645# #i95646# in-between state before bigger change
2008-11-05 12:25:55 +0100 aw r263346 : #i95644# #i95645# #i95646# in-between state before bigger change
2009-01-05 07:44:12 -06:00
|
|
|
|
|
|
|
protected:
|
|
|
|
// flags which hold the SetAntialiasing() value from OutputDevice
|
|
|
|
bool m_bAntiAliasB2DDraw;
|
|
|
|
|
2007-04-11 12:06:25 -05:00
|
|
|
public:
|
CWS-TOOLING: integrate CWS aw059
2008-12-16 16:15:40 +0100 aw r265557 : #i95645# avoid expensive tries to stream in graphic data when stream is at end anyways
2008-12-15 16:49:58 +0100 wg r265512 : i97278
2008-12-12 16:02:15 +0100 aw r265427 : #i95645# new formulation was wrong in two places; thanks go to THB. Thanks!
2008-12-12 15:49:06 +0100 aw r265425 : #i95645# refined formulation of AA on/off constraints for VCLCanvas
2008-12-12 14:51:26 +0100 aw r265420 : #i95645# workaround for DrawTransparent of button hilighting when remote displayed; somehow GDI+ does bad dithering in that case
2008-12-12 13:23:00 +0100 aw r265414 : removed temporary build hack; it made it's way in using the rebase; with SVN the rebase is not based on pure checkouts, but uses local changes.
2008-12-11 19:35:59 +0100 aw r265352 : #i95645# need to switch off AA for WNT and UNX, the VCLCanvas is currently not able to handle AA correctly
2008-12-11 16:05:17 +0100 thb r265327 : #i95645# Changed defaults to on; as for the while svx dialog is not changed
2008-12-10 13:40:38 +0100 aw r265180 : #i95645# changed pixel snap to basegfx::fround
2008-12-10 13:25:45 +0100 aw r265177 : corrected linux warning
2008-12-10 12:28:02 +0100 aw r265167 : #i95645# added support for pixel snap/linux resp. no AA for mac (also pixel snap) when AA is switched off to the basegfx::B2DPolyPolygon painting VCL methods; needed for e.g. selection in SC and SW
2008-12-09 18:44:39 +0100 aw r265136 : #i95645# corrected filled path construction
2008-12-09 18:12:40 +0100 aw r265133 : #i95645# added support for non-AAd transparent paints
2008-12-09 18:11:58 +0100 aw r265132 : #i95645# forced selection without AA
2008-12-09 18:11:29 +0100 aw r265131 : #i88893# smoothed/corrected SW selection rects for transparent selection, forced selection without AA
2008-12-09 15:21:39 +0100 aw r265094 : #i95645# corrected FormControl full drag
2008-12-09 15:11:26 +0100 aw r265093 : #i95645# make gdiplus usages more safe when no line or fill color is selected
2008-12-09 14:30:09 +0100 aw r265085 : #i95645# added GDIPlus support
2008-12-09 13:41:06 +0100 aw r265081 : #i95645# added simple AA using GDIPlis to VCL
2008-12-09 13:40:46 +0100 aw r265080 : #i95645# added simple AA using GDIPlis to VCL
2008-12-09 13:40:29 +0100 aw r265079 : #i95645# added simple AA using GDIPlis to VCL
2008-12-09 13:33:16 +0100 aw r265078 : #i95645# changes to requirements, discussed with FPE
2008-12-08 14:11:39 +0100 aw r264995 : #i95646# added missing extra-wireframe for SdrDragObjOwn implementations when object has no border
2008-12-08 14:11:00 +0100 aw r264994 : #i95646# corrected RenderMarkerArrayPrimitive2D OutDev usage in VclProcessor2D
2008-12-08 12:15:10 +0100 ufi r264987 : aw059
2008-12-08 12:14:40 +0100 ufi r264986 : aw059
2008-12-05 13:16:18 +0100 aw r264905 : CWS-TOOLING: rebase CWS aw059 to trunk@264807 (milestone: DEV300:m37)
2008-12-04 11:29:48 +0100 aw r264827 : #i95645# corrected warning
2008-12-03 14:43:39 +0100 aw r264783 : #i95645# simplified overlay manager and objects to stl vector; added stuff to render some more overlay to primitive renderer to get AA support for WIN32
2008-12-03 14:42:43 +0100 aw r264782 : #i95645# added test for WIN32 for AA if cairo canvas is available
2008-12-03 14:42:13 +0100 aw r264781 : #i95645# removed unused options for writer selection overlay
2008-12-03 14:41:51 +0100 aw r264780 : #i95645# removed unused options for calc overlay
2008-12-03 14:41:21 +0100 aw r264779 : #i95645# small corrections in canvas renderer
2008-12-02 18:32:31 +0100 aw r264730 : #i95646# merged cairo version from THB's CWS cairosource01
2008-12-02 15:25:45 +0100 aw r264705 : #i95645# added helpers for the MarkerArrayPrimitive2D change which support buffered creation of the most used markers
2008-12-02 12:50:01 +0100 aw r264690 : #i95645# added a non-saved method IsAAPossibleOnThisSystem to SvtOptionsDrawinglayer to quickly test if AA can be offered on the system, added buffering of that check.
2008-12-02 12:48:51 +0100 aw r264689 : #i95645# unified MarkerArrayPrimitive2D to work bitmap-orientated, adapted usages. Added buffered preparation for needed markers. Minor adaptions for AA
2008-12-02 12:47:53 +0100 aw r264688 : #i95645# unified MarkerArrayPrimitive2D to no longer work on a enum and types of markers, but to use a BitmapEx (or any other Bitmap object) which will be displayed centerd and in discrete coordinates at positions. Adapted decomposition and all usages. Corrected minor stuff with grid primitive
2008-11-28 17:11:12 +0100 thb r264565 : #i95645# Added two more lists to config; to be able to differentiate canvas capabilities
2008-11-28 17:03:27 +0100 thb r264563 : #i95645# Added two more lists to config; to be able to differentiate canvas capabilities
2008-11-28 17:00:07 +0100 thb r264562 : #i95645# Added two more lists to config; to be able to differentiate canvas capabilities
2008-11-28 16:59:51 +0100 thb r264561 : #i95645# Added two more lists to config; to be able to differentiate canvas capabilities
2008-11-27 19:13:42 +0100 aw r264519 : #i95646# optimized getLength() a little bit
2008-11-27 19:12:50 +0100 aw r264518 : #i95646# corrected AA expansion of invalidate frame; buffered discrete distance at OM
2008-11-27 18:50:05 +0100 aw r264516 : #i95646# corrected fit to frame texts for WIN32
2008-11-27 15:32:15 +0100 aw r264496 : #i95646# helplines corrected
2008-11-27 15:32:05 +0100 aw r264495 : #i95646# helplines corrected
2008-11-27 15:01:30 +0100 aw r264492 : #i95646# enable AA support for old polygons, especially to get support for MetaFile output
2008-11-27 14:33:28 +0100 aw r264489 : #i95646# AA support for wireframe overlays
2008-11-27 13:40:54 +0100 aw r264485 : #i95646# added full repaint when AA option changes
2008-11-27 13:29:19 +0100 aw r264482 : #i95646# corrected handling of bSolidDragging config entries
2008-11-27 13:29:08 +0100 aw r264481 : #i95646# corrected handling of bSolidDragging config entries
2008-11-27 11:30:12 +0100 aw r264469 : #i95646# corrected IsAAPossibleOnThisSystem implementation
2008-11-26 16:33:04 +0100 aw r264420 : #i95646# adapted OfaViewTabPage to use disable mechanism for AA and HWAccel
2008-11-26 15:49:19 +0100 aw r264406 : #i95646# added DlgEdObj::getFullDragClone() to create specialized simple SdrUnoObj clones for solid dragging
2008-11-26 15:48:11 +0100 aw r264405 : #i95646# changed derivation of ViewObjectContactOfUnoControl to get a valid isPrimitiveVisible() implementation
2008-11-26 14:11:37 +0100 aw r264385 : #i88893# added new look for selection in sw
2008-11-26 11:32:33 +0100 aw r264360 : corrected compiler warning
2008-11-25 18:46:29 +0100 aw r264328 : #i95646# snapshot with FullDrag clones
2008-11-25 18:46:07 +0100 aw r264327 : #i95646# snapshot with FullDrag clones
2008-11-25 18:45:43 +0100 aw r264326 : #i95646# snapshot with FullDrag clones
2008-11-25 18:19:04 +0100 thb r264324 : #i96585# Added missing inline specifier
2008-11-25 13:16:25 +0100 aw r264285 : #i95646# next snapshot
2008-11-25 13:15:33 +0100 aw r264284 : #i95646# next snapshot
2008-11-25 13:15:12 +0100 aw r264283 : #i95646# next snapshot
2008-11-25 13:14:51 +0100 aw r264282 : #i95646# next snapshot
2008-11-20 13:40:49 +0100 aw r264045 : #i95646# stable snapshot
2008-11-20 13:40:29 +0100 aw r264044 : #i95646# stable snapshot
2008-11-20 13:40:06 +0100 aw r264043 : #i95646# stable snapshot
2008-11-20 13:39:45 +0100 aw r264042 : #i95646# stable snapshot
2008-11-18 11:53:39 +0100 aw r263758 : #i95646# snapshot for linux test build
2008-11-18 11:52:54 +0100 aw r263757 : #i95646# snapshot for linux test build
2008-11-18 11:52:02 +0100 aw r263756 : #i95646# snapshot for linux test build
2008-11-14 18:17:49 +0100 aw r263692 : #i95646# snapshot with most stuff working
2008-11-14 18:14:26 +0100 aw r263691 : #i95646# snapshot with most stuff working
2008-11-14 18:12:50 +0100 aw r263690 : #i95646# snapshot with most stuff working
2008-11-14 18:12:16 +0100 aw r263689 : #i95646# snapshot with most stuff working
2008-11-14 18:11:41 +0100 aw r263688 : #i95646# snapshot with most stuff working
2008-11-07 18:44:22 +0100 aw r263479 : #i95968# better support PrefMapMode; special for MAP_PIXEL was missing
2008-11-05 17:39:15 +0100 aw r263356 : #i95644# #i95645# #i95646# bigger change done, saving for another experiment
2008-11-05 17:39:02 +0100 aw r263355 : #i95644# #i95645# #i95646# bigger change done, saving for another experiment
2008-11-05 12:28:32 +0100 aw r263350 : #i95644# #i95645# #i95646# in-between state before bigger change
2008-11-05 12:27:51 +0100 aw r263349 : #i95644# #i95645# #i95646# in-between state before bigger change
2008-11-05 12:26:58 +0100 aw r263348 : #i95644# #i95645# #i95646# in-between state before bigger change
2008-11-05 12:26:17 +0100 aw r263347 : #i95644# #i95645# #i95646# in-between state before bigger change
2008-11-05 12:25:55 +0100 aw r263346 : #i95644# #i95645# #i95646# in-between state before bigger change
2009-01-05 07:44:12 -06:00
|
|
|
// get/set AA
|
|
|
|
void setAntiAliasB2DDraw(bool bNew) { m_bAntiAliasB2DDraw = bNew; }
|
|
|
|
bool getAntiAliasB2DDraw() const { return m_bAntiAliasB2DDraw; }
|
|
|
|
|
2007-04-11 12:06:25 -05:00
|
|
|
SalGraphics();
|
|
|
|
virtual ~SalGraphics();
|
|
|
|
|
|
|
|
protected:
|
2010-12-03 09:21:36 -06:00
|
|
|
virtual bool setClipRegion( const Region& ) = 0;
|
2007-04-11 12:06:25 -05:00
|
|
|
// draw --> LineColor and FillColor and RasterOp and ClipRegion
|
|
|
|
virtual void drawPixel( long nX, long nY ) = 0;
|
|
|
|
virtual void drawPixel( long nX, long nY, SalColor nSalColor ) = 0;
|
|
|
|
virtual void drawLine( long nX1, long nY1, long nX2, long nY2 ) = 0;
|
|
|
|
virtual void drawRect( long nX, long nY, long nWidth, long nHeight ) = 0;
|
2011-01-12 08:07:10 -06:00
|
|
|
virtual void drawPolyLine( sal_uLong nPoints, const SalPoint* pPtAry ) = 0;
|
|
|
|
virtual void drawPolygon( sal_uLong nPoints, const SalPoint* pPtAry ) = 0;
|
2007-04-11 12:06:25 -05:00
|
|
|
virtual void drawPolyPolygon( sal_uInt32 nPoly, const sal_uInt32* pPoints, PCONSTSALPOINT* pPtAry ) = 0;
|
2008-05-30 04:05:07 -05:00
|
|
|
virtual bool drawPolyPolygon( const ::basegfx::B2DPolyPolygon&, double fTransparency ) = 0;
|
2010-06-02 08:21:20 -05:00
|
|
|
virtual bool drawPolyLine( const ::basegfx::B2DPolygon&, double fTransparency, const ::basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin ) = 0;
|
2011-01-12 08:07:10 -06:00
|
|
|
virtual sal_Bool drawPolyLineBezier( sal_uLong nPoints, const SalPoint* pPtAry, const sal_uInt8* pFlgAry ) = 0;
|
|
|
|
virtual sal_Bool drawPolygonBezier( sal_uLong nPoints, const SalPoint* pPtAry, const sal_uInt8* pFlgAry ) = 0;
|
2010-09-29 02:46:40 -05:00
|
|
|
virtual sal_Bool drawPolyPolygonBezier( sal_uInt32 nPoly, const sal_uInt32* pPoints, const SalPoint* const* pPtAry, const sal_uInt8* const* pFlgAry ) = 0;
|
2007-04-11 12:06:25 -05:00
|
|
|
|
|
|
|
// CopyArea --> No RasterOp, but ClipRegion
|
|
|
|
virtual void copyArea( long nDestX, long nDestY, long nSrcX, long nSrcY, long nSrcWidth,
|
2010-09-29 02:46:40 -05:00
|
|
|
long nSrcHeight, sal_uInt16 nFlags ) = 0;
|
2007-04-11 12:06:25 -05:00
|
|
|
|
|
|
|
// CopyBits and DrawBitmap --> RasterOp and ClipRegion
|
|
|
|
// CopyBits() --> pSrcGraphics == NULL, then CopyBits on same Graphics
|
|
|
|
virtual void copyBits( const SalTwoRect* pPosAry, SalGraphics* pSrcGraphics ) = 0;
|
|
|
|
virtual void drawBitmap( const SalTwoRect* pPosAry, const SalBitmap& rSalBitmap ) = 0;
|
|
|
|
virtual void drawBitmap( const SalTwoRect* pPosAry,
|
|
|
|
const SalBitmap& rSalBitmap,
|
|
|
|
SalColor nTransparentColor ) = 0;
|
|
|
|
virtual void drawBitmap( const SalTwoRect* pPosAry,
|
|
|
|
const SalBitmap& rSalBitmap,
|
|
|
|
const SalBitmap& rMaskBitmap ) = 0;
|
|
|
|
virtual void drawMask( const SalTwoRect* pPosAry,
|
|
|
|
const SalBitmap& rSalBitmap,
|
|
|
|
SalColor nMaskColor ) = 0;
|
|
|
|
|
|
|
|
virtual SalBitmap* getBitmap( long nX, long nY, long nWidth, long nHeight ) = 0;
|
|
|
|
virtual SalColor getPixel( long nX, long nY ) = 0;
|
|
|
|
|
|
|
|
// invert --> ClipRegion (only Windows or VirDevs)
|
|
|
|
virtual void invert( long nX, long nY, long nWidth, long nHeight, SalInvert nFlags) = 0;
|
2011-01-12 08:07:10 -06:00
|
|
|
virtual void invert( sal_uLong nPoints, const SalPoint* pPtAry, SalInvert nFlags ) = 0;
|
2007-04-11 12:06:25 -05:00
|
|
|
|
2011-01-12 08:07:10 -06:00
|
|
|
virtual sal_Bool drawEPS( long nX, long nY, long nWidth, long nHeight, void* pPtr, sal_uLong nSize ) = 0;
|
2007-04-11 12:06:25 -05:00
|
|
|
|
|
|
|
// native widget rendering methods that require mirroring
|
2010-11-09 23:50:33 -06:00
|
|
|
virtual sal_Bool hitTestNativeControl( ControlType nType, ControlPart nPart, const Rectangle& rControlRegion,
|
2010-09-29 02:46:40 -05:00
|
|
|
const Point& aPos, sal_Bool& rIsInside );
|
2010-11-09 23:50:33 -06:00
|
|
|
virtual sal_Bool drawNativeControl( ControlType nType, ControlPart nPart, const Rectangle& rControlRegion,
|
2010-03-03 04:08:18 -06:00
|
|
|
ControlState nState, const ImplControlValue& aValue,
|
2007-04-11 12:06:25 -05:00
|
|
|
const rtl::OUString& aCaption );
|
2010-11-09 23:50:33 -06:00
|
|
|
virtual sal_Bool getNativeControlRegion( ControlType nType, ControlPart nPart, const Rectangle& rControlRegion, ControlState nState,
|
2010-03-03 04:08:18 -06:00
|
|
|
const ImplControlValue& aValue, const rtl::OUString& aCaption,
|
2010-07-05 04:20:24 -05:00
|
|
|
Rectangle &rNativeBoundingRegion, Rectangle &rNativeContentRegion );
|
2007-04-11 12:06:25 -05:00
|
|
|
|
|
|
|
/** Render bitmap with alpha channel
|
|
|
|
|
|
|
|
@param rSourceBitmap
|
|
|
|
Source bitmap to blit
|
|
|
|
|
|
|
|
@param rAlphaBitmap
|
|
|
|
Alpha channel to use for blitting
|
|
|
|
|
|
|
|
@return true, if the operation succeeded, and false
|
|
|
|
otherwise. In this case, clients should try to emulate alpha
|
|
|
|
compositing themselves
|
|
|
|
*/
|
|
|
|
virtual bool drawAlphaBitmap( const SalTwoRect&,
|
|
|
|
const SalBitmap& rSourceBitmap,
|
|
|
|
const SalBitmap& rAlphaBitmap ) = 0;
|
|
|
|
/** Render solid rectangle with given transparency
|
|
|
|
|
|
|
|
@param nTransparency
|
|
|
|
Transparency value (0-255) to use. 0 blits and opaque, 255 a
|
|
|
|
fully transparent rectangle
|
|
|
|
*/
|
|
|
|
virtual bool drawAlphaRect( long nX, long nY, long nWidth, long nHeight, sal_uInt8 nTransparency ) = 0;
|
|
|
|
|
|
|
|
public:
|
|
|
|
// public SalGraphics methods, the interface to the independent vcl part
|
|
|
|
|
|
|
|
// get device resolution
|
|
|
|
virtual void GetResolution( sal_Int32& rDPIX, sal_Int32& rDPIY ) = 0;
|
|
|
|
// get the depth of the device
|
Merge commit 'ooo/DEV300_m101' into intm101
The following builds for me:
basebmp, basegfx, comphelper, dtrans, i18npool, i18nutil, l10ntools, o3tl,
psprint_config, regexp, rsc, sax, sot, tools, ucbhelper, unotools, vcl
The rest still needs fixing ;-)
Conflicts:
canvas/prj/build.lst
canvas/source/cairo/cairo_textlayout.cxx
canvas/source/directx/dx_winstuff.hxx
canvas/source/tools/image.cxx
canvas/source/vcl/canvashelper.cxx
comphelper/inc/comphelper/documentconstants.hxx
comphelper/inc/comphelper/optionalvalue.hxx
comphelper/inc/comphelper/querydeep.hxx
comphelper/prj/build.lst
comphelper/qa/complex/makefile.mk
comphelper/qa/string/test_string_noadditional.cxx
comphelper/source/misc/componentmodule.cxx
comphelper/source/misc/mimeconfighelper.cxx
comphelper/source/misc/querydeep.cxx
comphelper/source/misc/uieventslogger.cxx
comphelper/source/property/TypeGeneration.cxx
comphelper/test/uno_iterators/uno_iterators.cxx
comphelper/util/makefile.mk
cppcanvas/source/mtfrenderer/implrenderer.cxx
dtrans/prj/build.lst
dtrans/source/generic/dtrans.cxx
dtrans/source/win32/dtobj/FmtFilter.cxx
i18npool/prj/build.lst
i18npool/source/localedata/data/localedata_others.map
i18npool/source/localedata/data/makefile.mk
i18npool/source/localedata/localedata.cxx
i18npool/source/localedata/saxparser.cxx
i18npool/source/registerservices/registerservices.cxx
i18npool/source/search/textsearch.cxx
l10ntools/inc/cfgmerge.hxx
l10ntools/inc/export.hxx
l10ntools/inc/gsicheck.hxx
l10ntools/inc/l10ntools/vosapp.hxx
l10ntools/inc/tagtest.hxx
l10ntools/inc/xmlparse.hxx
l10ntools/layout/layoutparse.cxx
l10ntools/layout/tralay.cxx
l10ntools/source/cfgmerge.cxx
l10ntools/source/export.cxx
l10ntools/source/export2.cxx
l10ntools/source/gsicheck.cxx
l10ntools/source/help/HelpLinker.cxx
l10ntools/source/lngex.cxx
l10ntools/source/lngmerge.cxx
l10ntools/source/merge.cxx
l10ntools/source/tagtest.cxx
l10ntools/source/xmlparse.cxx
padmin/source/fontentry.cxx
padmin/source/padialog.cxx
padmin/source/padialog.src
padmin/source/pamain.cxx
rsc/inc/rscarray.hxx
rsc/inc/rscclass.hxx
rsc/inc/rscclobj.hxx
rsc/inc/rsccont.hxx
rsc/inc/rscdb.hxx
rsc/inc/rscdef.hxx
rsc/inc/rscmgr.hxx
rsc/inc/rscrange.hxx
rsc/inc/rsctop.hxx
rsc/inc/vclrsc.hxx
rsc/source/parser/rscdb.cxx
rsc/source/parser/rscicpx.cxx
rsc/source/parser/rscinit.cxx
rsc/source/prj/start.cxx
rsc/source/res/rscarray.cxx
rsc/source/res/rscclass.cxx
rsc/source/res/rscclobj.cxx
rsc/source/res/rsccont.cxx
rsc/source/res/rscmgr.cxx
rsc/source/res/rscrange.cxx
rsc/source/res/rsctop.cxx
rsc/source/rsc/rsc.cxx
rsc/source/tools/rscdef.cxx
rsc/source/tools/rsctools.cxx
sax/source/expatwrap/sax_expat.cxx
sax/source/fastparser/facreg.cxx
sax/source/tools/fastserializer.cxx
sot/inc/sot/filelist.hxx
sot/inc/sot/object.hxx
sot/source/base/factory.cxx
sot/source/base/filelist.cxx
sot/source/sdstor/stg.cxx
sot/source/sdstor/stgcache.cxx
sot/source/sdstor/stgole.cxx
sot/source/sdstor/stgstrms.cxx
sot/source/sdstor/storage.cxx
sot/source/sdstor/ucbstorage.cxx
svl/inc/svl/cenumitm.hxx
svl/inc/svl/cintitem.hxx
svl/inc/svl/cntwall.hxx
svl/inc/svl/ctypeitm.hxx
svl/inc/svl/custritm.hxx
svl/inc/svl/dateitem.hxx
svl/inc/svl/filerec.hxx
svl/inc/svl/globalnameitem.hxx
svl/inc/svl/ilstitem.hxx
svl/inc/svl/imageitm.hxx
svl/inc/svl/intitem.hxx
svl/inc/svl/itempool.hxx
svl/inc/svl/itemset.hxx
svl/inc/svl/lckbitem.hxx
svl/inc/svl/poolitem.hxx
svl/inc/svl/ptitem.hxx
svl/inc/svl/rectitem.hxx
svl/inc/svl/sfontitm.hxx
svl/inc/svl/slstitm.hxx
svl/inc/svl/srchitem.hxx
svl/inc/svl/svarray.hxx
svl/inc/svl/svdde.hxx
svl/inc/svl/svstdarr.hxx
svl/inc/svl/szitem.hxx
svl/inc/svl/visitem.hxx
svl/inc/svl/zforlist.hxx
svl/inc/svl/zformat.hxx
svl/prj/build.lst
svl/qa/complex/ConfigItems/helper/ConfigItemTest.cxx
svl/qa/complex/ConfigItems/helper/makefile.mk
svl/qa/makefile.mk
svl/source/filepicker/pickerhelper.cxx
svl/source/filerec/filerec.cxx
svl/source/items/cenumitm.cxx
svl/source/items/cintitem.cxx
svl/source/items/cntwall.cxx
svl/source/items/ctypeitm.cxx
svl/source/items/custritm.cxx
svl/source/items/dateitem.cxx
svl/source/items/globalnameitem.cxx
svl/source/items/ilstitem.cxx
svl/source/items/imageitm.cxx
svl/source/items/intitem.cxx
svl/source/items/itempool.cxx
svl/source/items/itemprop.cxx
svl/source/items/itemset.cxx
svl/source/items/lckbitem.cxx
svl/source/items/poolio.cxx
svl/source/items/poolitem.cxx
svl/source/items/ptitem.cxx
svl/source/items/rectitem.cxx
svl/source/items/slstitm.cxx
svl/source/items/srchitem.cxx
svl/source/items/style.cxx
svl/source/items/szitem.cxx
svl/source/items/visitem.cxx
svl/source/items/whiter.cxx
svl/source/memtools/svarray.cxx
svl/source/misc/PasswordHelper.cxx
svl/source/misc/adrparse.cxx
svl/source/misc/lngmisc.cxx
svl/source/notify/brdcst.cxx
svl/source/notify/listener.cxx
svl/source/notify/listenerbase.cxx
svl/source/numbers/makefile.mk
svl/source/numbers/nbdll.cxx
svl/source/numbers/zforfind.cxx
svl/source/numbers/zforlist.cxx
svl/source/numbers/zformat.cxx
svl/source/numbers/zforscan.cxx
svl/source/passwordcontainer/passwordcontainer.cxx
svl/source/svdde/ddecli.cxx
svl/source/svdde/ddeimp.hxx
svl/source/svdde/ddemlos2.h
svl/source/svdde/ddesvr.cxx
svl/source/undo/undo.cxx
svl/source/uno/registerservices.cxx
svl/util/makefile.mk
svtools/bmpmaker/bmpsum.cxx
svtools/bmpmaker/g2g.cxx
svtools/bmpmaker/makefile.mk
svtools/inc/borderhelper.hxx
svtools/inc/svtools/accessiblefactory.hxx
svtools/inc/svtools/apearcfg.hxx
svtools/inc/svtools/brwbox.hxx
svtools/inc/svtools/ctrlbox.hxx
svtools/inc/svtools/ctrltool.hxx
svtools/inc/svtools/editbrowsebox.hxx
svtools/inc/svtools/ehdl.hxx
svtools/inc/svtools/embedhlp.hxx
svtools/inc/svtools/filter.hxx
svtools/inc/svtools/ivctrl.hxx
svtools/inc/svtools/parhtml.hxx
svtools/inc/svtools/printdlg.hxx
svtools/inc/svtools/rtftoken.h
svtools/inc/svtools/ruler.hxx
svtools/inc/svtools/svicnvw.hxx
svtools/inc/svtools/svlbitm.hxx
svtools/inc/svtools/svlbox.hxx
svtools/inc/svtools/svtreebx.hxx
svtools/inc/svtools/tabbar.hxx
svtools/inc/svtools/table/abstracttablecontrol.hxx
svtools/inc/svtools/taskbar.hxx
svtools/inc/svtools/textview.hxx
svtools/inc/svtools/valueset.hxx
svtools/source/brwbox/brwbox1.cxx
svtools/source/brwbox/brwbox2.cxx
svtools/source/brwbox/datwin.cxx
svtools/source/brwbox/datwin.hxx
svtools/source/brwbox/makefile.mk
svtools/source/config/apearcfg.cxx
svtools/source/config/htmlcfg.cxx
svtools/source/config/menuoptions.cxx
svtools/source/config/miscopt.cxx
svtools/source/contnr/cont_pch.cxx
svtools/source/contnr/ctrdll.cxx
svtools/source/contnr/fileview.cxx
svtools/source/contnr/imivctl1.cxx
svtools/source/contnr/ivctrl.cxx
svtools/source/contnr/makefile.mk
svtools/source/contnr/svcontnr.src
svtools/source/contnr/svicnvw.cxx
svtools/source/contnr/svimpbox.cxx
svtools/source/contnr/svimpicn.cxx
svtools/source/contnr/svlbitm.cxx
svtools/source/contnr/svtreebx.cxx
svtools/source/contnr/templwin.cxx
svtools/source/contnr/templwin.hxx
svtools/source/control/asynclink.cxx
svtools/source/control/ctrlbox.cxx
svtools/source/control/ctrldll.cxx
svtools/source/control/ctrltool.cxx
svtools/source/control/filectrl.cxx
svtools/source/control/filectrl.src
svtools/source/control/headbar.cxx
svtools/source/control/inettbc.cxx
svtools/source/control/makefile.mk
svtools/source/control/prgsbar.cxx
svtools/source/control/roadmap.cxx
svtools/source/control/ruler.cxx
svtools/source/control/scriptedtext.cxx
svtools/source/control/stdmenu.cxx
svtools/source/control/tabbar.cxx
svtools/source/control/taskbar.cxx
svtools/source/control/taskbox.cxx
svtools/source/control/taskmisc.cxx
svtools/source/control/taskstat.cxx
svtools/source/control/valueacc.cxx
svtools/source/control/valueset.cxx
svtools/source/dialogs/addresstemplate.cxx
svtools/source/dialogs/addresstemplate.src
svtools/source/dialogs/colrdlg.src
svtools/source/dialogs/filedlg2.cxx
svtools/source/dialogs/filedlg2.hxx
svtools/source/dialogs/makefile.mk
svtools/source/dialogs/printdlg.cxx
svtools/source/dialogs/printdlg.src
svtools/source/dialogs/propctrl.cxx
svtools/source/dialogs/propctrl.hxx
svtools/source/dialogs/property.cxx
svtools/source/edit/makefile.mk
svtools/source/edit/sychconv.cxx
svtools/source/edit/syntaxhighlight.cxx
svtools/source/edit/textdoc.cxx
svtools/source/edit/texteng.cxx
svtools/source/edit/textundo.cxx
svtools/source/edit/textview.cxx
svtools/source/filter.vcl/filter/SvFilterOptionsDialog.cxx
svtools/source/filter.vcl/filter/dlgejpg.cxx
svtools/source/filter.vcl/filter/dlgejpg.hxx
svtools/source/filter.vcl/filter/dlgejpg.src
svtools/source/filter.vcl/filter/dlgepng.cxx
svtools/source/filter.vcl/filter/dlgepng.hxx
svtools/source/filter.vcl/filter/dlgepng.src
svtools/source/filter.vcl/filter/dlgexpor.cxx
svtools/source/filter.vcl/filter/dlgexpor.hxx
svtools/source/filter.vcl/filter/dlgexpor.src
svtools/source/filter.vcl/filter/filter2.cxx
svtools/source/filter.vcl/filter/makefile.mk
svtools/source/filter.vcl/filter/sgfbram.cxx
svtools/source/filter.vcl/filter/sgvmain.cxx
svtools/source/filter.vcl/filter/sgvspln.cxx
svtools/source/filter.vcl/filter/strings.src
svtools/source/filter.vcl/jpeg/makefile.mk
svtools/source/filter.vcl/wmf/emfwr.cxx
svtools/source/filter.vcl/wmf/emfwr.hxx
svtools/source/filter.vcl/wmf/enhwmf.cxx
svtools/source/filter.vcl/wmf/winmtf.hxx
svtools/source/filter.vcl/wmf/wmfwr.cxx
svtools/source/filter.vcl/wmf/wmfwr.hxx
svtools/source/graphic/grfcache.cxx
svtools/source/graphic/grfcache.hxx
svtools/source/graphic/grfmgr.cxx
svtools/source/graphic/makefile.mk
svtools/source/inc/accessibletableimp.hxx
svtools/source/inc/svimpbox.hxx
svtools/source/java/patchjavaerror.src
svtools/source/misc/ehdl.cxx
svtools/source/misc/errtxt.src
svtools/source/misc/helpagentwindow.cxx
svtools/source/misc/imagemgr.cxx
svtools/source/misc/imagemgr.src
svtools/source/misc/imageresourceaccess.cxx
svtools/source/misc/imap.cxx
svtools/source/misc/langtab.src
svtools/source/misc/makefile.mk
svtools/source/misc/svtdata.cxx
svtools/source/misc/templatefoldercache.cxx
svtools/source/misc/transfer2.cxx
svtools/source/misc/undo.src
svtools/source/plugapp/commtest.cxx
svtools/source/plugapp/commtest.src
svtools/source/plugapp/makefile.mk
svtools/source/plugapp/testtool.src
svtools/source/productregistration/productregistration.cxx
svtools/source/svhtml/htmlkywd.cxx
svtools/source/svhtml/parhtml.cxx
svtools/source/svrtf/rtfkey2.cxx
svtools/source/svrtf/rtfkeywd.cxx
svtools/source/table/defaultinputhandler.cxx
svtools/source/table/makefile.mk
svtools/source/table/tablecontrol.cxx
svtools/source/table/tablecontrol_impl.cxx
svtools/source/table/tablecontrol_impl.hxx
svtools/source/table/tabledatawindow.cxx
svtools/source/table/tablegeometry.cxx
svtools/source/table/tablegeometry.hxx
svtools/source/toolpanel/makefile.mk
svtools/source/toolpanel/toolpaneldrawer.cxx
svtools/source/uno/addrtempuno.cxx
svtools/source/uno/miscservices.cxx
svtools/source/uno/svtxgridcontrol.cxx
svtools/source/uno/svtxgridcontrol.hxx
svtools/source/uno/toolboxcontroller.cxx
svtools/source/uno/treecontrolpeer.cxx
svtools/source/uno/unocontroltablemodel.cxx
svtools/source/uno/unocontroltablemodel.hxx
svtools/source/uno/unoimap.cxx
svtools/source/urlobj/inetimg.cxx
svtools/util/makefile.mk
svtools/workben/browser.cxx
svtools/workben/cui/makefile.mk
svtools/workben/makefile.mk
svtools/workben/stest.cxx
svtools/workben/toolpanel/makefile.mk
svtools/workben/urange.cxx
toolkit/inc/toolkit/awt/vclxdevice.hxx
toolkit/inc/toolkit/awt/vclxgraphics.hxx
toolkit/inc/toolkit/awt/vclxwindows.hxx
toolkit/inc/toolkit/controls/dialogcontrol.hxx
toolkit/inc/toolkit/helper/property.hxx
toolkit/inc/toolkit/helper/servicenames.hxx
toolkit/inc/toolkit/helper/throbberimpl.hxx
toolkit/qa/complex/toolkit/accessibility/_XAccessibleComponent.java
toolkit/source/awt/asynccallback.cxx
toolkit/source/awt/vclxgraphics.cxx
toolkit/source/awt/vclxtoolkit.cxx
toolkit/source/awt/vclxwindow.cxx
toolkit/source/awt/xsimpleanimation.cxx
toolkit/source/awt/xthrobber.cxx
toolkit/source/controls/dialogcontrol.cxx
toolkit/source/controls/grid/defaultgridcolumnmodel.cxx
toolkit/source/controls/grid/defaultgriddatamodel.cxx
toolkit/source/controls/grid/gridcontrol.cxx
toolkit/source/controls/grid/initguard.hxx
toolkit/source/controls/unocontrol.cxx
toolkit/source/controls/unocontrolcontainer.cxx
toolkit/source/controls/unocontrols.cxx
toolkit/source/helper/listenermultiplexer.cxx
toolkit/source/helper/property.cxx
toolkit/source/helper/registerservices.cxx
toolkit/source/helper/servicenames.cxx
toolkit/source/helper/throbberimpl.cxx
toolkit/source/helper/tkresmgr.cxx
tools/StaticLibrary_ooopathutils.mk
tools/bootstrp/addexes/makefile.mk
tools/bootstrp/addexes2/makefile.mk
tools/bootstrp/addexes2/mkfilt.cxx
tools/bootstrp/command.cxx
tools/bootstrp/cppdep.cxx
tools/bootstrp/iserver.cxx
tools/bootstrp/makefile.mk
tools/bootstrp/mkcreate.cxx
tools/bootstrp/prj.cxx
tools/bootstrp/rscdep.cxx
tools/bootstrp/sstring.cxx
tools/inc/bootstrp/command.hxx
tools/inc/bootstrp/mkcreate.hxx
tools/inc/bootstrp/prj.hxx
tools/inc/bootstrp/sstring.hxx
tools/inc/tools/agapi.hxx
tools/inc/tools/agitem.hxx
tools/inc/tools/chapi.hxx
tools/inc/tools/download.hxx
tools/inc/tools/eacopier.hxx
tools/inc/tools/fract.hxx
tools/inc/tools/fsys.hxx
tools/inc/tools/geninfo.hxx
tools/inc/tools/globname.hxx
tools/inc/tools/inetmime.hxx
tools/inc/tools/multisel.hxx
tools/inc/tools/poly.hxx
tools/inc/tools/postsys.h
tools/inc/tools/postwin.h
tools/inc/tools/presys.h
tools/inc/tools/prewin.h
tools/inc/tools/pstm.hxx
tools/inc/tools/ref.hxx
tools/inc/tools/simplerm.hxx
tools/inc/tools/solar.h
tools/inc/tools/table.hxx
tools/inc/tools/urlkeys.hxx
tools/inc/tools/urlobj.hxx
tools/prj/build.lst
tools/prj/d.lst
tools/qa/makefile.mk
tools/source/communi/geninfo.cxx
tools/source/debug/debug.cxx
tools/source/fsys/dirent.cxx
tools/source/fsys/tdir.cxx
tools/source/fsys/unx.cxx
tools/source/fsys/urlobj.cxx
tools/source/generic/color.cxx
tools/source/generic/config.cxx
tools/source/generic/fract.cxx
tools/source/inet/inetmime.cxx
tools/source/memtools/multisel.cxx
tools/source/memtools/table.cxx
tools/source/rc/resmgr.cxx
tools/source/ref/globname.cxx
tools/source/ref/pstm.cxx
tools/source/solar/solar.c
tools/source/stream/strmos2.cxx
tools/source/stream/strmunx.cxx
tools/source/stream/strmwnt.cxx
tools/source/string/makefile.mk
tools/source/testtoolloader/testtoolloader.cxx
tools/test/makefile.mk
tools/util/makefile.mk
tools/win/inc/dll.hxx
tools/win/inc/parser.hxx
tools/win/inc/shellex.h
tools/win/inc/shutil.h
tools/win/inc/toolsdll.hxx
tools/win/inc/winshell.hxx
tools/workben/makefile.mk
ucbhelper/source/client/proxydecider.cxx
ucbhelper/workben/ucbexplorer/ucbexplorer.hrc
unotools/inc/unotools/unotunnelhelper.hxx
unotools/source/config/fltrcfg.cxx
unotools/source/config/lingucfg.cxx
unotools/source/config/misccfg.cxx
unotools/source/config/pathoptions.cxx
unotools/source/config/searchopt.cxx
unotools/source/i18n/localedatawrapper.cxx
unotools/source/ucbhelper/localfilehelper.cxx
unotools/source/ucbhelper/ucbhelper.cxx
unotools/source/ucbhelper/xtempfile.cxx
vcl/aqua/inc/salbmp.h
vcl/aqua/inc/salgdi.h
vcl/aqua/inc/salinst.h
vcl/aqua/source/app/salinst.cxx
vcl/aqua/source/gdi/aquaprintaccessoryview.mm
vcl/aqua/source/gdi/salgdi.cxx
vcl/aqua/source/gdi/salprn.cxx
vcl/aqua/source/window/salframeview.mm
vcl/aqua/source/window/salobj.cxx
vcl/inc/vcl/bitmap.hxx
vcl/inc/vcl/brdwin.hxx
vcl/inc/vcl/button.hxx
vcl/inc/vcl/cmdevt.hxx
vcl/inc/vcl/cvtgrf.hxx
vcl/inc/vcl/dialog.hxx
vcl/inc/vcl/dockwin.hxx
vcl/inc/vcl/event.hxx
vcl/inc/vcl/fixed.hxx
vcl/inc/vcl/fldunit.hxx
vcl/inc/vcl/floatwin.hxx
vcl/inc/vcl/gdimtf.hxx
vcl/inc/vcl/glyphcache.hxx
vcl/inc/vcl/graphite_adaptors.hxx
vcl/inc/vcl/graphite_features.hxx
vcl/inc/vcl/graphite_layout.hxx
vcl/inc/vcl/ilstbox.hxx
vcl/inc/vcl/image.h
vcl/inc/vcl/imgctrl.hxx
vcl/inc/vcl/impbmpconv.hxx
vcl/inc/vcl/impprn.hxx
vcl/inc/vcl/jobset.h
vcl/inc/vcl/keycodes.hxx
vcl/inc/vcl/lstbox.hxx
vcl/inc/vcl/mapunit.hxx
vcl/inc/vcl/menu.hxx
vcl/inc/vcl/msgbox.hxx
vcl/inc/vcl/outdev.hxx
vcl/inc/vcl/prndlg.hxx
vcl/inc/vcl/salatype.hxx
vcl/inc/vcl/salbmp.hxx
vcl/inc/vcl/salgdi.hxx
vcl/inc/vcl/salinst.hxx
vcl/inc/vcl/seleng.hxx
vcl/inc/vcl/settings.hxx
vcl/inc/vcl/smartid.hxx
vcl/inc/vcl/status.hxx
vcl/inc/vcl/strhelper.hxx
vcl/inc/vcl/svapp.hxx
vcl/inc/vcl/svdata.hxx
vcl/inc/vcl/syschild.hxx
vcl/inc/vcl/sysdata.hxx
vcl/inc/vcl/taskpanelist.hxx
vcl/inc/vcl/toolbox.hxx
vcl/inc/vcl/vclevent.hxx
vcl/inc/vcl/windata.hxx
vcl/inc/vcl/window.hxx
vcl/inc/vcl/wintypes.hxx
vcl/os2/source/app/salinst.cxx
vcl/os2/source/gdi/salgdi.cxx
vcl/os2/source/window/salmenu.cxx
vcl/os2/source/window/salobj.cxx
vcl/prj/build.lst
vcl/source/app/dbggui.cxx
vcl/source/app/help.cxx
vcl/source/app/idlemgr.cxx
vcl/source/app/settings.cxx
vcl/source/app/svapp.cxx
vcl/source/app/svdata.cxx
vcl/source/app/svmain.cxx
vcl/source/app/svmainhook.cxx
vcl/source/app/unohelp.cxx
vcl/source/app/vclevent.cxx
vcl/source/control/button.cxx
vcl/source/control/combobox.cxx
vcl/source/control/edit.cxx
vcl/source/control/field.cxx
vcl/source/control/fixed.cxx
vcl/source/control/ilstbox.cxx
vcl/source/control/imgctrl.cxx
vcl/source/control/makefile.mk
vcl/source/control/tabctrl.cxx
vcl/source/gdi/bitmap.cxx
vcl/source/gdi/bitmap2.cxx
vcl/source/gdi/bitmap4.cxx
vcl/source/gdi/bmpconv.cxx
vcl/source/gdi/cvtsvm.cxx
vcl/source/gdi/font.cxx
vcl/source/gdi/gdimtf.cxx
vcl/source/gdi/image.cxx
vcl/source/gdi/impimage.cxx
vcl/source/gdi/jobset.cxx
vcl/source/gdi/makefile.mk
vcl/source/gdi/metaact.cxx
vcl/source/gdi/outdev.cxx
vcl/source/gdi/outdev3.cxx
vcl/source/gdi/outdev4.cxx
vcl/source/gdi/outdevnative.cxx
vcl/source/gdi/pdfwriter.cxx
vcl/source/gdi/pdfwriter_impl.cxx
vcl/source/gdi/print3.cxx
vcl/source/gdi/salmisc.cxx
vcl/source/glyphs/gcach_ftyp.cxx
vcl/source/glyphs/gcach_ftyp.hxx
vcl/source/glyphs/glyphcache.cxx
vcl/source/glyphs/graphite_cache.cxx
vcl/source/glyphs/graphite_layout.cxx
vcl/source/glyphs/graphite_textsrc.hxx
vcl/source/helper/canvasbitmap.cxx
vcl/source/helper/smartid.cxx
vcl/source/helper/xconnection.cxx
vcl/source/src/btntext.src
vcl/source/src/images.src
vcl/source/src/print.src
vcl/source/window/accel.cxx
vcl/source/window/accmgr.cxx
vcl/source/window/brdwin.cxx
vcl/source/window/btndlg.cxx
vcl/source/window/dlgctrl.cxx
vcl/source/window/javachild.cxx
vcl/source/window/menu.cxx
vcl/source/window/msgbox.cxx
vcl/source/window/printdlg.cxx
vcl/source/window/status.cxx
vcl/source/window/syschild.cxx
vcl/source/window/toolbox.cxx
vcl/source/window/toolbox2.cxx
vcl/source/window/window.cxx
vcl/source/window/window2.cxx
vcl/source/window/wrkwin.cxx
vcl/unx/gtk/app/gtkdata.cxx
vcl/unx/gtk/app/gtkinst.cxx
vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
vcl/unx/gtk/window/gtkframe.cxx
vcl/unx/gtk/window/gtkobject.cxx
vcl/unx/headless/svpbmp.hxx
vcl/unx/headless/svpgdi.cxx
vcl/unx/headless/svpgdi.hxx
vcl/unx/headless/svpinst.cxx
vcl/unx/headless/svpinst.hxx
vcl/unx/headless/svpprn.cxx
vcl/unx/headless/svpprn.hxx
vcl/unx/headless/svppspgraphics.cxx
vcl/unx/headless/svppspgraphics.hxx
vcl/unx/headless/svptext.cxx
vcl/unx/inc/dtint.hxx
vcl/unx/inc/plugins/gtk/gtkdata.hxx
vcl/unx/inc/pspgraphics.h
vcl/unx/inc/salbmp.h
vcl/unx/inc/saldata.hxx
vcl/unx/inc/saldisp.hxx
vcl/unx/inc/salgdi.h
vcl/unx/inc/salinst.h
vcl/unx/inc/xfont.hxx
vcl/unx/kde/kdedata.cxx
vcl/unx/kde4/KDESalGraphics.cxx
vcl/unx/source/app/keysymnames.cxx
vcl/unx/source/app/saldata.cxx
vcl/unx/source/app/saldisp.cxx
vcl/unx/source/app/salinst.cxx
vcl/unx/source/app/wmadaptor.cxx
vcl/unx/source/dtrans/X11_selection.cxx
vcl/unx/source/dtrans/X11_service.cxx
vcl/unx/source/gdi/makefile.mk
vcl/unx/source/gdi/pspgraphics.cxx
vcl/unx/source/gdi/salgdi.cxx
vcl/unx/source/gdi/salgdi3.cxx
vcl/unx/source/gdi/salprnpsp.cxx
vcl/unx/source/gdi/xfont.cxx
vcl/unx/source/gdi/xlfd_attr.cxx
vcl/unx/source/gdi/xlfd_attr.hxx
vcl/unx/source/gdi/xlfd_extd.cxx
vcl/unx/source/gdi/xlfd_extd.hxx
vcl/unx/source/gdi/xlfd_smpl.cxx
vcl/unx/source/gdi/xlfd_smpl.hxx
vcl/unx/source/printer/ppdparser.cxx
vcl/unx/source/printer/printerinfomanager.cxx
vcl/unx/source/window/salframe.cxx
vcl/unx/source/window/salmenu.cxx
vcl/unx/source/window/salobj.cxx
vcl/util/makefile2.pmk
vcl/win/inc/salbmp.h
vcl/win/inc/saldata.hxx
vcl/win/inc/salgdi.h
vcl/win/inc/salinst.h
vcl/win/source/app/saldata.cxx
vcl/win/source/app/salinst.cxx
vcl/win/source/gdi/salgdi.cxx
vcl/win/source/gdi/salgdi3.cxx
vcl/win/source/gdi/salprn.cxx
vcl/win/source/gdi/winlayout.cxx
vcl/win/source/window/salframe.cxx
vcl/win/source/window/salobj.cxx
vcl/workben/outdevgrind.cxx
vos/inc/vos/execabl.hxx
vos/inc/vos/macros.hxx
vos/inc/vos/pipe.hxx
vos/inc/vos/process.hxx
vos/inc/vos/refernce.hxx
vos/inc/vos/signal.hxx
vos/inc/vos/socket.hxx
vos/inc/vos/stream.hxx
vos/inc/vos/thread.hxx
vos/source/pipe.cxx
vos/source/process.cxx
vos/source/signal.cxx
vos/source/thread.cxx
vos/source/timer.cxx
2011-03-11 07:24:23 -06:00
|
|
|
virtual sal_uInt16 GetBitCount() const = 0;
|
2007-04-11 12:06:25 -05:00
|
|
|
// get the width of the device
|
|
|
|
virtual long GetGraphicsWidth() const = 0;
|
|
|
|
|
|
|
|
// set the clip region to empty
|
|
|
|
virtual void ResetClipRegion() = 0;
|
|
|
|
|
|
|
|
// set the line color to transparent (= don't draw lines)
|
|
|
|
virtual void SetLineColor() = 0;
|
|
|
|
// set the line color to a specific color
|
|
|
|
virtual void SetLineColor( SalColor nSalColor ) = 0;
|
|
|
|
// set the fill color to transparent (= don't fill)
|
|
|
|
virtual void SetFillColor() = 0;
|
|
|
|
// set the fill color to a specific color, shapes will be
|
|
|
|
// filled accordingly
|
|
|
|
virtual void SetFillColor( SalColor nSalColor ) = 0;
|
|
|
|
// enable/disable XOR drawing
|
2008-12-01 07:29:22 -06:00
|
|
|
virtual void SetXORMode( bool bSet, bool bInvertOnly ) = 0;
|
2007-04-11 12:06:25 -05:00
|
|
|
// set line color for raster operations
|
|
|
|
virtual void SetROPLineColor( SalROPColor nROPColor ) = 0;
|
|
|
|
// set fill color for raster operations
|
|
|
|
virtual void SetROPFillColor( SalROPColor nROPColor ) = 0;
|
|
|
|
// set the text color to a specific color
|
|
|
|
virtual void SetTextColor( SalColor nSalColor ) = 0;
|
|
|
|
// set the font
|
2011-10-27 10:08:14 -05:00
|
|
|
virtual sal_uInt16 SetFont( FontSelectPattern*, int nFallbackLevel ) = 0;
|
2007-04-11 12:06:25 -05:00
|
|
|
// release the fonts
|
|
|
|
void ReleaseFonts() { SetFont( NULL, 0 ); }
|
|
|
|
// get the current font's metrics
|
2010-09-30 10:50:58 -05:00
|
|
|
virtual void GetFontMetric( ImplFontMetricData*, int nFallbackLevel = 0 ) = 0;
|
2009-12-23 05:24:41 -06:00
|
|
|
|
2007-04-11 12:06:25 -05:00
|
|
|
// get kernign pairs of the current font
|
|
|
|
// return only PairCount if (pKernPairs == NULL)
|
2011-01-12 08:07:10 -06:00
|
|
|
virtual sal_uLong GetKernPairs( sal_uLong nMaxPairCount, ImplKernPairData* ) = 0;
|
2007-04-11 12:06:25 -05:00
|
|
|
// get the repertoire of the current font
|
2010-09-15 05:01:51 -05:00
|
|
|
virtual const ImplFontCharMap* GetImplFontCharMap() const = 0;
|
2011-02-06 07:47:35 -06:00
|
|
|
// get the layout capabilities of the current font
|
2011-02-28 10:57:28 -06:00
|
|
|
virtual bool GetImplFontCapabilities(vcl::FontCapabilities &rFontCapabilities) const = 0;
|
2007-04-11 12:06:25 -05:00
|
|
|
// graphics must fill supplied font list
|
|
|
|
virtual void GetDevFontList( ImplDevFontList* ) = 0;
|
2012-09-03 10:15:18 -05:00
|
|
|
// graphics must drop any cached font info
|
|
|
|
virtual void ClearDevFontCache() = 0;
|
2007-04-11 12:06:25 -05:00
|
|
|
// graphics should call ImplAddDevFontSubstitute on supplied
|
|
|
|
// OutputDevice for all its device specific preferred font substitutions
|
|
|
|
virtual void GetDevFontSubstList( OutputDevice* ) = 0;
|
2011-11-21 02:00:21 -06:00
|
|
|
virtual bool AddTempDevFont( ImplDevFontList*, const rtl::OUString& rFileURL, const rtl::OUString& rFontName ) = 0;
|
2007-04-11 12:06:25 -05:00
|
|
|
// CreateFontSubset: a method to get a subset of glyhps of a font
|
|
|
|
// inside a new valid font file
|
2010-09-29 02:46:40 -05:00
|
|
|
// returns sal_True if creation of subset was successfull
|
2007-04-11 12:06:25 -05:00
|
|
|
// parameters: rToFile: contains a osl file URL to write the subset to
|
|
|
|
// pFont: describes from which font to create a subset
|
|
|
|
// pGlyphIDs: the glyph ids to be extracted
|
|
|
|
// pEncoding: the character code corresponding to each glyph
|
|
|
|
// pWidths: the advance widths of the correspoding glyphs (in PS font units)
|
|
|
|
// nGlyphs: the number of glyphs
|
|
|
|
// rInfo: additional outgoing information
|
|
|
|
// implementation note: encoding 0 with glyph id 0 should be added implicitly
|
|
|
|
// as "undefined character"
|
2010-09-29 02:46:40 -05:00
|
|
|
virtual sal_Bool CreateFontSubset( const rtl::OUString& rToFile,
|
2012-06-19 06:24:37 -05:00
|
|
|
const PhysicalFontFace* pFont,
|
2007-04-11 12:06:25 -05:00
|
|
|
sal_Int32* pGlyphIDs,
|
|
|
|
sal_uInt8* pEncoding,
|
|
|
|
sal_Int32* pWidths,
|
|
|
|
int nGlyphs,
|
|
|
|
FontSubsetInfo& rInfo // out parameter
|
|
|
|
) = 0;
|
|
|
|
|
|
|
|
// GetFontEncodingVector: a method to get the encoding map Unicode
|
|
|
|
// to font encoded character; this is only used for type1 fonts and
|
|
|
|
// may return NULL in case of unknown encoding vector
|
|
|
|
// if ppNonEncoded is set and non encoded characters (that is type1
|
|
|
|
// glyphs with only a name) exist it is set to the corresponding
|
|
|
|
// map for non encoded glyphs; the encoding vector contains -1
|
|
|
|
// as encoding for these cases
|
2012-06-19 06:24:37 -05:00
|
|
|
virtual const Ucs2SIntMap* GetFontEncodingVector( const PhysicalFontFace*, const Ucs2OStrMap** ppNonEncoded ) = 0;
|
2007-04-11 12:06:25 -05:00
|
|
|
|
|
|
|
// GetEmbedFontData: gets the font data for a font marked
|
|
|
|
// embeddable by GetDevFontList or NULL in case of error
|
|
|
|
// parameters: pFont: describes the font in question
|
|
|
|
// pUnicodes: contains the Unicodes assigned to
|
|
|
|
// code points 0 to 255; must contain at least 256 members
|
|
|
|
// pWidths: the widths of all glyphs from char code 0 to 255
|
|
|
|
// pWidths MUST support at least 256 members;
|
|
|
|
// rInfo: additional outgoing information
|
|
|
|
// pDataLen: out parameter, contains the byte length of the returned buffer
|
2012-06-19 06:24:37 -05:00
|
|
|
virtual const void* GetEmbedFontData( const PhysicalFontFace* pFont,
|
2008-03-31 07:23:40 -05:00
|
|
|
const sal_Ucs* pUnicodes,
|
2007-04-11 12:06:25 -05:00
|
|
|
sal_Int32* pWidths,
|
|
|
|
FontSubsetInfo& rInfo,
|
|
|
|
long* pDataLen ) = 0;
|
|
|
|
// frees the font data again
|
|
|
|
virtual void FreeEmbedFontData( const void* pData, long nDataLen ) = 0;
|
|
|
|
|
|
|
|
// get the same widths as in CreateFontSubset and GetEmbedFontData
|
|
|
|
// in case of an embeddable font also fill the mapping
|
|
|
|
// between unicode and glyph id
|
|
|
|
// leave widths vector and mapping untouched in case of failure
|
2012-06-19 06:24:37 -05:00
|
|
|
virtual void GetGlyphWidths( const PhysicalFontFace* pFont,
|
2007-04-11 12:06:25 -05:00
|
|
|
bool bVertical,
|
2008-03-31 07:23:40 -05:00
|
|
|
Int32Vector& rWidths,
|
|
|
|
Ucs2UIntMap& rUnicodeEnc ) = 0;
|
2007-04-11 12:06:25 -05:00
|
|
|
|
2011-06-09 02:54:17 -05:00
|
|
|
virtual sal_Bool GetGlyphBoundRect( sal_GlyphId nIndex, Rectangle& ) = 0;
|
|
|
|
virtual sal_Bool GetGlyphOutline( sal_GlyphId nIndex, basegfx::B2DPolyPolygon& ) = 0;
|
2007-04-11 12:06:25 -05:00
|
|
|
|
|
|
|
virtual SalLayout* GetTextLayout( ImplLayoutArgs&, int nFallbackLevel ) = 0;
|
|
|
|
virtual void DrawServerFontLayout( const ServerFontLayout& ) = 0;
|
|
|
|
/** Filter text from DrawText commands in a device specific manner
|
|
|
|
<p>
|
|
|
|
This function allows a device (or rather the corresponding SalGraphics
|
|
|
|
implementation) to prevent text portions from being drawn. This currently
|
|
|
|
is used only for filtering out the fax number in a document that is printed
|
|
|
|
to one of psprint's specialized "fax" printers.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
@param rOrigText
|
|
|
|
The original text
|
|
|
|
|
|
|
|
@param rNewText
|
|
|
|
A String that will be filled with the adjusted version
|
|
|
|
|
|
|
|
@param nIndex
|
|
|
|
The index inside <code>rOrigText</code> that marks the first draw character
|
|
|
|
|
|
|
|
@param rLen
|
|
|
|
in: length of text beginning at <code>nIndex</code> to be drawn
|
|
|
|
out: length of <code>rNewText</code> containing the substituted text
|
|
|
|
|
|
|
|
@param rCutStart
|
|
|
|
out: index at which the cutout portion of <code>rOrigText</code> begins
|
|
|
|
|
|
|
|
@param rCutStop
|
|
|
|
out: index at which the cutout portion of <code>rOrigText</code> ends
|
|
|
|
|
|
|
|
@returns
|
|
|
|
true: a substitution has taken place and rNewText rLen, rCutStart and rCutStop have been filled accordingly
|
|
|
|
false: no substitution has taken place, rNewText, rLen, rCutStart, rCutStop remain unchanged
|
|
|
|
*/
|
2011-11-21 02:00:21 -06:00
|
|
|
virtual bool filterText( const rtl::OUString& rOrigText, rtl::OUString& rNewText, xub_StrLen nIndex, xub_StrLen& rLen, xub_StrLen& rCutStart, xub_StrLen& rCutStop );
|
2007-04-11 12:06:25 -05:00
|
|
|
|
2008-02-19 08:48:11 -06:00
|
|
|
virtual bool supportsOperation( OutDevSupportType ) const = 0;
|
|
|
|
|
2007-04-11 12:06:25 -05:00
|
|
|
// mirroring specifica
|
|
|
|
int GetLayout() { return m_nLayout; }
|
|
|
|
void SetLayout( int aLayout ) { m_nLayout = aLayout;}
|
|
|
|
|
|
|
|
void mirror( long& nX, const OutputDevice *pOutDev, bool bBack = false ) const;
|
|
|
|
void mirror( long& nX, long& nWidth, const OutputDevice *pOutDev, bool bBack = false ) const;
|
2010-09-29 02:46:40 -05:00
|
|
|
sal_Bool mirror( sal_uInt32 nPoints, const SalPoint *pPtAry, SalPoint *pPtAry2, const OutputDevice *pOutDev, bool bBack = false ) const;
|
2007-04-11 12:06:25 -05:00
|
|
|
void mirror( Rectangle& rRect, const OutputDevice*, bool bBack = false ) const;
|
|
|
|
void mirror( Region& rRgn, const OutputDevice *pOutDev, bool bBack = false ) const;
|
2012-02-01 09:46:05 -06:00
|
|
|
void mirror( ImplControlValue&, const OutputDevice*, bool bBack = false ) const;
|
2008-12-01 07:29:22 -06:00
|
|
|
basegfx::B2DPoint mirror( const basegfx::B2DPoint& i_rPoint, const OutputDevice *pOutDev, bool bBack = false ) const;
|
|
|
|
basegfx::B2DPolygon mirror( const basegfx::B2DPolygon& i_rPoly, const OutputDevice *pOutDev, bool bBack = false ) const;
|
|
|
|
basegfx::B2DPolyPolygon mirror( const basegfx::B2DPolyPolygon& i_rPoly, const OutputDevice *pOutDev, bool bBack = false ) const;
|
2007-04-11 12:06:25 -05:00
|
|
|
|
2011-02-14 09:17:22 -06:00
|
|
|
// non virtual methods; these do possible coordinate mirroring and
|
2007-04-11 12:06:25 -05:00
|
|
|
// then delegate to protected virtual methods
|
2010-12-03 09:21:36 -06:00
|
|
|
bool SetClipRegion( const Region&, const OutputDevice *pOutDev );
|
2008-05-30 04:05:07 -05:00
|
|
|
|
2007-04-11 12:06:25 -05:00
|
|
|
// draw --> LineColor and FillColor and RasterOp and ClipRegion
|
|
|
|
void DrawPixel( long nX, long nY, const OutputDevice *pOutDev );
|
|
|
|
void DrawPixel( long nX, long nY, SalColor nSalColor, const OutputDevice *pOutDev );
|
|
|
|
void DrawLine( long nX1, long nY1, long nX2, long nY2, const OutputDevice *pOutDev );
|
|
|
|
void DrawRect( long nX, long nY, long nWidth, long nHeight, const OutputDevice *pOutDev );
|
2011-01-12 08:07:10 -06:00
|
|
|
void DrawPolyLine( sal_uLong nPoints, const SalPoint* pPtAry, const OutputDevice *pOutDev );
|
|
|
|
void DrawPolygon( sal_uLong nPoints, const SalPoint* pPtAry, const OutputDevice *pOutDev );
|
2007-04-11 12:06:25 -05:00
|
|
|
void DrawPolyPolygon( sal_uInt32 nPoly,
|
|
|
|
const sal_uInt32* pPoints,
|
|
|
|
PCONSTSALPOINT* pPtAry,
|
|
|
|
const OutputDevice *pOutDev );
|
2008-05-30 04:05:07 -05:00
|
|
|
bool DrawPolyPolygon( const ::basegfx::B2DPolyPolygon&, double fTransparency, const OutputDevice* );
|
2010-06-02 08:21:20 -05:00
|
|
|
bool DrawPolyLine( const basegfx::B2DPolygon&, double fTransparency, const basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin, const OutputDevice* );
|
2011-01-12 08:07:10 -06:00
|
|
|
sal_Bool DrawPolyLineBezier( sal_uLong nPoints,
|
2007-04-11 12:06:25 -05:00
|
|
|
const SalPoint* pPtAry,
|
2010-09-29 02:46:40 -05:00
|
|
|
const sal_uInt8* pFlgAry,
|
2007-04-11 12:06:25 -05:00
|
|
|
const OutputDevice *pOutDev );
|
2011-01-12 08:07:10 -06:00
|
|
|
sal_Bool DrawPolygonBezier( sal_uLong nPoints,
|
2007-04-11 12:06:25 -05:00
|
|
|
const SalPoint* pPtAry,
|
2010-09-29 02:46:40 -05:00
|
|
|
const sal_uInt8* pFlgAry,
|
2007-04-11 12:06:25 -05:00
|
|
|
const OutputDevice *pOutDev );
|
|
|
|
sal_Bool DrawPolyPolygonBezier( sal_uInt32 nPoly,
|
|
|
|
const sal_uInt32* pPoints,
|
|
|
|
const SalPoint* const* pPtAry,
|
2010-09-29 02:46:40 -05:00
|
|
|
const sal_uInt8* const* pFlgAry,
|
2007-04-11 12:06:25 -05:00
|
|
|
const OutputDevice *pOutDev );
|
|
|
|
|
|
|
|
// CopyArea --> No RasterOp, but ClipRegion
|
|
|
|
void CopyArea( long nDestX,
|
|
|
|
long nDestY,
|
|
|
|
long nSrcX,
|
|
|
|
long nSrcY,
|
|
|
|
long nSrcWidth,
|
|
|
|
long nSrcHeight,
|
2010-09-29 02:46:40 -05:00
|
|
|
sal_uInt16 nFlags,
|
2007-04-11 12:06:25 -05:00
|
|
|
const OutputDevice *pOutDev );
|
|
|
|
|
|
|
|
// CopyBits and DrawBitmap --> RasterOp and ClipRegion
|
|
|
|
// CopyBits() --> pSrcGraphics == NULL, then CopyBits on same Graphics
|
|
|
|
void CopyBits( const SalTwoRect* pPosAry,
|
|
|
|
SalGraphics* pSrcGraphics,
|
|
|
|
const OutputDevice *pOutDev,
|
|
|
|
const OutputDevice *pSrcOutDev );
|
|
|
|
void DrawBitmap( const SalTwoRect* pPosAry,
|
|
|
|
const SalBitmap& rSalBitmap,
|
|
|
|
const OutputDevice *pOutDev );
|
|
|
|
void DrawBitmap( const SalTwoRect* pPosAry,
|
|
|
|
const SalBitmap& rSalBitmap,
|
|
|
|
const SalBitmap& rTransparentBitmap,
|
|
|
|
const OutputDevice *pOutDev );
|
|
|
|
|
|
|
|
void DrawMask( const SalTwoRect* pPosAry,
|
|
|
|
const SalBitmap& rSalBitmap,
|
|
|
|
SalColor nMaskColor,
|
|
|
|
const OutputDevice *pOutDev );
|
|
|
|
|
|
|
|
SalBitmap* GetBitmap( long nX, long nY, long nWidth, long nHeight, const OutputDevice *pOutDev );
|
|
|
|
SalColor GetPixel( long nX, long nY, const OutputDevice *pOutDev );
|
|
|
|
|
|
|
|
// invert --> ClipRegion (only Windows)
|
|
|
|
void Invert( long nX, long nY, long nWidth, long nHeight, SalInvert nFlags, const OutputDevice *pOutDev );
|
2011-01-12 08:07:10 -06:00
|
|
|
void Invert( sal_uLong nPoints, const SalPoint* pPtAry, SalInvert nFlags, const OutputDevice *pOutDev );
|
2007-04-11 12:06:25 -05:00
|
|
|
|
2011-01-12 08:07:10 -06:00
|
|
|
sal_Bool DrawEPS( long nX, long nY, long nWidth, long nHeight, void* pPtr, sal_uLong nSize, const OutputDevice *pOutDev );
|
2007-04-11 12:06:25 -05:00
|
|
|
|
|
|
|
//-------------------------------------
|
|
|
|
// Native Widget Rendering functions
|
|
|
|
//-------------------------------------
|
|
|
|
|
|
|
|
// Query the platform layer for control support
|
2010-09-29 02:46:40 -05:00
|
|
|
virtual sal_Bool IsNativeControlSupported( ControlType nType, ControlPart nPart );
|
2007-04-11 12:06:25 -05:00
|
|
|
|
|
|
|
// Query the native control to determine if it was acted upon
|
2010-09-29 02:46:40 -05:00
|
|
|
sal_Bool HitTestNativeControl( ControlType nType,
|
2007-04-11 12:06:25 -05:00
|
|
|
ControlPart nPart,
|
2010-07-05 04:20:24 -05:00
|
|
|
const Rectangle& rControlRegion,
|
2007-04-11 12:06:25 -05:00
|
|
|
const Point& aPos,
|
2010-09-29 02:46:40 -05:00
|
|
|
sal_Bool& rIsInside,
|
2007-04-11 12:06:25 -05:00
|
|
|
const OutputDevice *pOutDev );
|
|
|
|
|
|
|
|
// Request rendering of a particular control and/or part
|
2010-09-29 02:46:40 -05:00
|
|
|
sal_Bool DrawNativeControl( ControlType nType,
|
2007-04-11 12:06:25 -05:00
|
|
|
ControlPart nPart,
|
2010-07-05 04:20:24 -05:00
|
|
|
const Rectangle& rControlRegion,
|
2007-04-11 12:06:25 -05:00
|
|
|
ControlState nState,
|
|
|
|
const ImplControlValue& aValue,
|
|
|
|
const rtl::OUString& aCaption,
|
|
|
|
const OutputDevice *pOutDev );
|
|
|
|
|
|
|
|
// Query the native control's actual drawing region (including adornment)
|
2010-09-29 02:46:40 -05:00
|
|
|
sal_Bool GetNativeControlRegion( ControlType nType,
|
2007-04-11 12:06:25 -05:00
|
|
|
ControlPart nPart,
|
2010-07-05 04:20:24 -05:00
|
|
|
const Rectangle& rControlRegion,
|
2007-04-11 12:06:25 -05:00
|
|
|
ControlState nState,
|
|
|
|
const ImplControlValue& aValue,
|
|
|
|
const rtl::OUString& aCaption,
|
2010-07-05 04:20:24 -05:00
|
|
|
Rectangle &rNativeBoundingRegion,
|
|
|
|
Rectangle &rNativeContentRegion,
|
2007-04-11 12:06:25 -05:00
|
|
|
const OutputDevice *pOutDev );
|
|
|
|
|
|
|
|
bool DrawAlphaBitmap( const SalTwoRect&,
|
|
|
|
const SalBitmap& rSourceBitmap,
|
|
|
|
const SalBitmap& rAlphaBitmap,
|
|
|
|
const OutputDevice *pOutDev );
|
|
|
|
|
|
|
|
bool DrawAlphaRect( long nX, long nY, long nWidth, long nHeight,
|
|
|
|
sal_uInt8 nTransparency, const OutputDevice *pOutDev );
|
2008-06-24 05:39:01 -05:00
|
|
|
|
|
|
|
virtual SystemGraphicsData GetGraphicsData() const = 0;
|
2009-05-18 07:01:49 -05:00
|
|
|
virtual SystemFontData GetSysFontData( int nFallbacklevel ) const = 0;
|
2007-04-11 12:06:25 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // _SV_SALGDI_HXX
|
2010-10-14 01:27:31 -05:00
|
|
|
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|