Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
0cd6947e
Kaydet (Commit)
0cd6947e
authored
Mar 18, 2013
tarafından
Tor Lillqvist
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Improve indentation consistency
Change-Id: I27a692be8d1c3aa10bdf46883fd502491aff4674
üst
40f92a3c
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
299 additions
and
277 deletions
+299
-277
salbmp.hxx
vcl/inc/salbmp.hxx
+1
-2
salframe.hxx
vcl/inc/salframe.hxx
+64
-75
salgdi.hxx
vcl/inc/salgdi.hxx
+164
-131
salinst.hxx
vcl/inc/salinst.hxx
+55
-48
sallayout.hxx
vcl/inc/sallayout.hxx
+4
-7
salsys.hxx
vcl/inc/salsys.hxx
+2
-5
salvd.hxx
vcl/inc/salvd.hxx
+9
-9
No files found.
vcl/inc/salbmp.hxx
Dosyayı görüntüle @
0cd6947e
...
...
@@ -51,12 +51,11 @@ public:
virtual
void
SetHasAlpha
(
bool
)
{
}
virtual
void
Destroy
()
=
0
;
virtual
Size
GetSize
()
const
=
0
;
virtual
sal_uInt16
GetBitCount
()
const
=
0
;
virtual
sal_uInt16
GetBitCount
()
const
=
0
;
virtual
BitmapBuffer
*
AcquireBuffer
(
bool
bReadOnly
)
=
0
;
virtual
void
ReleaseBuffer
(
BitmapBuffer
*
pBuffer
,
bool
bReadOnly
)
=
0
;
virtual
bool
GetSystemData
(
BitmapSystemData
&
rData
)
=
0
;
};
#endif
...
...
vcl/inc/salframe.hxx
Dosyayı görüntüle @
0cd6947e
...
...
@@ -24,10 +24,9 @@
#include <vcl/dllapi.h>
#ifdef __cplusplus
#include <vcl/ptrstyle.hxx>
#endif // __cplusplus
#include <salwtype.hxx>
#include <salgeom.hxx>
#include <tools/gen.hxx>
...
...
@@ -43,15 +42,11 @@ class SalBitmap;
class
SalMenu
;
class
Window
;
struct
SalFrameState
;
struct
SalInputContext
;
struct
SystemEnvData
;
// -----------------
// - SalFrameTypes -
// -----------------
// SalFrame types
#define SAL_FRAME_TOTOP_RESTOREWHENMIN ((sal_uInt16)0x0001)
#define SAL_FRAME_TOTOP_FOREGROUNDTASK ((sal_uInt16)0x0002)
#define SAL_FRAME_TOTOP_GRABFOCUS ((sal_uInt16)0x0004)
...
...
@@ -60,17 +55,13 @@ struct SystemEnvData;
#define SAL_FRAME_ENDEXTTEXTINPUT_COMPLETE ((sal_uInt16)0x0001)
#define SAL_FRAME_ENDEXTTEXTINPUT_CANCEL ((sal_uInt16)0x0002)
// -----------------
// - SalFrameStyle -
// -----------------
// SalFrame styles
#define SAL_FRAME_STYLE_DEFAULT ((sal_uLong)0x00000001)
#define SAL_FRAME_STYLE_MOVEABLE ((sal_uLong)0x00000002)
#define SAL_FRAME_STYLE_SIZEABLE ((sal_uLong)0x00000004)
#define SAL_FRAME_STYLE_CLOSEABLE ((sal_uLong)0x00000008)
// no shadow effect on WindowsXP
// no shadow effect on Windows
XP
#define SAL_FRAME_STYLE_NOSHADOW ((sal_uLong)0x00000010)
// indicate tooltip windows, so they can always be topmost
#define SAL_FRAME_STYLE_TOOLTIP ((sal_uLong)0x00000020)
...
...
@@ -93,18 +84,13 @@ struct SystemEnvData;
// the window containing the intro bitmap, aka splashscreen
#define SAL_FRAME_STYLE_INTRO ((sal_uLong)0x80000000)
// ----------------------------------------
// - extended frame style -
// - (sal equivalent to extended WinBits) -
// ----------------------------------------
typedef
sal_uInt64
SalExtStyle
;
#define SAL_FRAME_EXT_STYLE_DOCUMENT SalExtStyle(0x00000001)
#define SAL_FRAME_EXT_STYLE_DOCMODIFIED SalExtStyle(0x00000002)
// ------------------------
// - Flags for SetPosSize -
// ------------------------
// Flags for SetPosSize
#define SAL_FRAME_POSSIZE_X ((sal_uInt16)0x0001)
#define SAL_FRAME_POSSIZE_Y ((sal_uInt16)0x0002)
#define SAL_FRAME_POSSIZE_WIDTH ((sal_uInt16)0x0004)
...
...
@@ -122,87 +108,89 @@ class VCL_PLUGIN_PUBLIC SalFrame : public vcl::DeletionNotifier
// the VCL window corresponding to this frame
Window
*
m_pWindow
;
SALFRAMEPROC
m_pProc
;
public
:
// public for Sal Implementation
SalFrame
()
:
m_pWindow
(
NULL
),
m_pProc
(
NULL
)
{}
virtual
~
SalFrame
();
public
:
// public for Sal Implementation
SalFrameGeometry
maGeometry
;
public
:
// SalGraphics or NULL, but two Graphics for all SalFrames
// must be returned
virtual
SalGraphics
*
GetGraphics
()
=
0
;
virtual
void
ReleaseGraphics
(
SalGraphics
*
pGraphics
)
=
0
;
virtual
SalGraphics
*
GetGraphics
()
=
0
;
virtual
void
ReleaseGraphics
(
SalGraphics
*
pGraphics
)
=
0
;
// Event must be destroyed, when Frame is destroyed
// When Event is called, SalInstance::Yield() must be returned
virtual
sal_Bool
PostEvent
(
void
*
pData
)
=
0
;
virtual
sal_Bool
PostEvent
(
void
*
pData
)
=
0
;
virtual
void
SetTitle
(
const
OUString
&
rTitle
)
=
0
;
virtual
void
SetIcon
(
sal_uInt16
nIcon
)
=
0
;
virtual
void
SetRepresentedURL
(
const
OUString
&
);
virtual
void
SetMenu
(
SalMenu
*
pSalMenu
)
=
0
;
virtual
void
DrawMenuBar
()
=
0
;
virtual
void
SetTitle
(
const
OUString
&
rTitle
)
=
0
;
virtual
void
SetIcon
(
sal_uInt16
nIcon
)
=
0
;
virtual
void
SetRepresentedURL
(
const
OUString
&
);
virtual
void
SetMenu
(
SalMenu
*
pSalMenu
)
=
0
;
virtual
void
DrawMenuBar
()
=
0
;
virtual
void
SetExtendedFrameStyle
(
SalExtStyle
nExtStyle
)
=
0
;
virtual
void
SetExtendedFrameStyle
(
SalExtStyle
nExtStyle
)
=
0
;
// Before the window is visible, a resize event
// must be sent with the correct size
virtual
void
Show
(
sal_Bool
bVisible
,
sal_Bool
bNoActivate
=
sal_False
)
=
0
;
virtual
void
Enable
(
sal_Bool
bEnable
)
=
0
;
virtual
void
Show
(
sal_Bool
bVisible
,
sal_Bool
bNoActivate
=
sal_False
)
=
0
;
virtual
void
Enable
(
sal_Bool
bEnable
)
=
0
;
// Set ClientSize and Center the Window to the desktop
// and send/post a resize message
virtual
void
SetMinClientSize
(
long
nWidth
,
long
nHeight
)
=
0
;
virtual
void
SetMaxClientSize
(
long
nWidth
,
long
nHeight
)
=
0
;
virtual
void
SetPosSize
(
long
nX
,
long
nY
,
long
nWidth
,
long
nHeight
,
sal_uInt16
nFlags
)
=
0
;
virtual
void
GetClientSize
(
long
&
rWidth
,
long
&
rHeight
)
=
0
;
virtual
void
GetWorkArea
(
Rectangle
&
rRect
)
=
0
;
virtual
SalFrame
*
GetParent
()
const
=
0
;
virtual
void
SetMinClientSize
(
long
nWidth
,
long
nHeight
)
=
0
;
virtual
void
SetMaxClientSize
(
long
nWidth
,
long
nHeight
)
=
0
;
virtual
void
SetPosSize
(
long
nX
,
long
nY
,
long
nWidth
,
long
nHeight
,
sal_uInt16
nFlags
)
=
0
;
virtual
void
GetClientSize
(
long
&
rWidth
,
long
&
rHeight
)
=
0
;
virtual
void
GetWorkArea
(
Rectangle
&
rRect
)
=
0
;
virtual
SalFrame
*
GetParent
()
const
=
0
;
// Note: x will be mirrored at parent if UI mirroring is active
SalFrameGeometry
GetGeometry
();
const
SalFrameGeometry
&
GetUnmirroredGeometry
()
const
{
return
maGeometry
;
}
virtual
void
SetWindowState
(
const
SalFrameState
*
pState
)
=
0
;
virtual
sal_Bool
GetWindowState
(
SalFrameState
*
pState
)
=
0
;
virtual
void
ShowFullScreen
(
sal_Bool
bFullScreen
,
sal_Int32
nDisplay
)
=
0
;
SalFrameGeometry
GetGeometry
();
const
SalFrameGeometry
&
GetUnmirroredGeometry
()
const
{
return
maGeometry
;
}
virtual
void
SetWindowState
(
const
SalFrameState
*
pState
)
=
0
;
virtual
sal_Bool
GetWindowState
(
SalFrameState
*
pState
)
=
0
;
virtual
void
ShowFullScreen
(
sal_Bool
bFullScreen
,
sal_Int32
nDisplay
)
=
0
;
// Enable/Disable ScreenSaver, SystemAgents, ...
virtual
void
StartPresentation
(
sal_Bool
bStart
)
=
0
;
virtual
void
StartPresentation
(
sal_Bool
bStart
)
=
0
;
// Show Window over all other Windows
virtual
void
SetAlwaysOnTop
(
sal_Bool
bOnTop
)
=
0
;
virtual
void
SetAlwaysOnTop
(
sal_Bool
bOnTop
)
=
0
;
// Window to top and grab focus
virtual
void
ToTop
(
sal_uInt16
nFlags
)
=
0
;
virtual
void
ToTop
(
sal_uInt16
nFlags
)
=
0
;
// this function can call with the same
// pointer style
virtual
void
SetPointer
(
PointerStyle
ePointerStyle
)
=
0
;
virtual
void
CaptureMouse
(
sal_Bool
bMouse
)
=
0
;
virtual
void
SetPointerPos
(
long
nX
,
long
nY
)
=
0
;
virtual
void
SetPointer
(
PointerStyle
ePointerStyle
)
=
0
;
virtual
void
CaptureMouse
(
sal_Bool
bMouse
)
=
0
;
virtual
void
SetPointerPos
(
long
nX
,
long
nY
)
=
0
;
// flush output buffer
virtual
void
Flush
(
void
)
=
0
;
virtual
void
Flush
(
const
Rectangle
&
);
virtual
void
Flush
(
void
)
=
0
;
virtual
void
Flush
(
const
Rectangle
&
);
// flush output buffer, wait till outstanding operations are done
virtual
void
Sync
()
=
0
;
virtual
void
Sync
()
=
0
;
virtual
void
SetInputContext
(
SalInputContext
*
pContext
)
=
0
;
virtual
void
EndExtTextInput
(
sal_uInt16
nFlags
)
=
0
;
virtual
void
SetInputContext
(
SalInputContext
*
pContext
)
=
0
;
virtual
void
EndExtTextInput
(
sal_uInt16
nFlags
)
=
0
;
virtual
OUString
GetKeyName
(
sal_uInt16
nKeyCode
)
=
0
;
virtual
OUString
GetKeyName
(
sal_uInt16
nKeyCode
)
=
0
;
// returns in 'rKeyCode' the single keycode that translates to the given unicode when using a keyboard layout of language 'aLangType'
// returns sal_False if no mapping exists or function not supported
// this is required for advanced menu support
virtual
sal_Bool
MapUnicodeToKeyCode
(
sal_Unicode
aUnicode
,
LanguageType
aLangType
,
KeyCode
&
rKeyCode
)
=
0
;
virtual
sal_Bool
MapUnicodeToKeyCode
(
sal_Unicode
aUnicode
,
LanguageType
aLangType
,
KeyCode
&
rKeyCode
)
=
0
;
// returns the input language used for the last key stroke
// may be LANGUAGE_DONTKNOW if not supported by the OS
virtual
LanguageType
GetInputLanguage
()
=
0
;
virtual
LanguageType
GetInputLanguage
()
=
0
;
virtual
void
UpdateSettings
(
AllSettings
&
rSettings
)
=
0
;
virtual
void
UpdateSettings
(
AllSettings
&
rSettings
)
=
0
;
// returns system data (most prominent: window handle)
virtual
const
SystemEnvData
*
GetSystemData
()
const
=
0
;
virtual
const
SystemEnvData
*
GetSystemData
()
const
=
0
;
// get current modifier, button mask and mouse position
struct
SalPointerState
...
...
@@ -211,52 +199,53 @@ public:
Point
maPos
;
// in frame coordinates
};
virtual
SalPointerState
GetPointerState
()
=
0
;
virtual
SalPointerState
GetPointerState
()
=
0
;
struct
SalIndicatorState
{
sal_uInt16
mnState
;
};
virtual
SalIndicatorState
GetIndicatorState
()
=
0
;
virtual
SalIndicatorState
GetIndicatorState
()
=
0
;
virtual
void
SimulateKeyPress
(
sal_uInt16
nKeyCode
)
=
0
;
virtual
void
SimulateKeyPress
(
sal_uInt16
nKeyCode
)
=
0
;
// set new parent window
virtual
void
SetParent
(
SalFrame
*
pNewParent
)
=
0
;
virtual
void
SetParent
(
SalFrame
*
pNewParent
)
=
0
;
// reparent window to act as a plugin; implementation
// may choose to use a new system window inetrnally
// return false to indicate failure
virtual
bool
SetPluginParent
(
SystemParentData
*
pNewParent
)
=
0
;
virtual
bool
SetPluginParent
(
SystemParentData
*
pNewParent
)
=
0
;
// move the frame to a new screen
virtual
void
SetScreenNumber
(
unsigned
int
nScreen
)
=
0
;
virtual
void
SetScreenNumber
(
unsigned
int
nScreen
)
=
0
;
virtual
void
SetApplicationID
(
const
OUString
&
rApplicationID
)
=
0
;
virtual
void
SetApplicationID
(
const
OUString
&
rApplicationID
)
=
0
;
// shaped system windows
// set clip region to none (-> rectangular windows, normal state)
virtual
void
ResetClipRegion
()
=
0
;
virtual
void
ResetClipRegion
()
=
0
;
// start setting the clipregion consisting of nRects rectangles
virtual
void
BeginSetClipRegion
(
sal_uLong
nRects
)
=
0
;
virtual
void
BeginSetClipRegion
(
sal_uLong
nRects
)
=
0
;
// add a rectangle to the clip region
virtual
void
UnionClipRegion
(
long
nX
,
long
nY
,
long
nWidth
,
long
nHeight
)
=
0
;
virtual
void
UnionClipRegion
(
long
nX
,
long
nY
,
long
nWidth
,
long
nHeight
)
=
0
;
// done setting up the clipregion
virtual
void
EndSetClipRegion
()
=
0
;
virtual
void
EndSetClipRegion
()
=
0
;
// Callbacks (indepent part in vcl/source/window/winproc.cxx)
// for default message handling return 0
void
SetCallback
(
Window
*
pWindow
,
SALFRAMEPROC
pProc
)
{
m_pWindow
=
pWindow
;
m_pProc
=
pProc
;
}
void
SetCallback
(
Window
*
pWindow
,
SALFRAMEPROC
pProc
)
{
m_pWindow
=
pWindow
;
m_pProc
=
pProc
;
}
// returns the instance set
Window
*
GetWindow
()
const
{
return
m_pWindow
;
}
Window
*
GetWindow
()
const
{
return
m_pWindow
;
}
// Call the callback set; this sometimes necessary for implementation classes
// that should not know more than necessary about the SalFrame implementation
// (e.g. input methods, printer update handlers).
long
CallCallback
(
sal_uInt16
nEvent
,
const
void
*
pEvent
)
const
{
return
m_pProc
?
m_pProc
(
m_pWindow
,
const_cast
<
SalFrame
*>
(
this
),
nEvent
,
pEvent
)
:
0
;
}
long
CallCallback
(
sal_uInt16
nEvent
,
const
void
*
pEvent
)
const
{
return
m_pProc
?
m_pProc
(
m_pWindow
,
const_cast
<
SalFrame
*>
(
this
),
nEvent
,
pEvent
)
:
0
;
}
};
#endif // __cplusplus
...
...
vcl/inc/salgdi.hxx
Dosyayı görüntüle @
0cd6947e
...
...
@@ -69,10 +69,6 @@ namespace basegfx {
#define SAL_COPYAREA_WINDOWINVALIDATE ((sal_uInt16)0x0001)
// -------------------
// - 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
;
...
...
@@ -97,70 +93,69 @@ protected:
bool
m_bAntiAliasB2DDraw
;
public
:
// get/set AA
void
setAntiAliasB2DDraw
(
bool
bNew
)
{
m_bAntiAliasB2DDraw
=
bNew
;
}
bool
getAntiAliasB2DDraw
()
const
{
return
m_bAntiAliasB2DDraw
;
}
void
setAntiAliasB2DDraw
(
bool
bNew
)
{
m_bAntiAliasB2DDraw
=
bNew
;
}
bool
getAntiAliasB2DDraw
()
const
{
return
m_bAntiAliasB2DDraw
;
}
SalGraphics
();
virtual
~
SalGraphics
();
protected
:
virtual
bool
setClipRegion
(
const
Region
&
)
=
0
;
virtual
bool
setClipRegion
(
const
Region
&
)
=
0
;
// 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
;
virtual
void
drawPolyLine
(
sal_uLong
nPoints
,
const
SalPoint
*
pPtAry
)
=
0
;
virtual
void
drawPolygon
(
sal_uLong
nPoints
,
const
SalPoint
*
pPtAry
)
=
0
;
virtual
void
drawPolyPolygon
(
sal_uInt32
nPoly
,
const
sal_uInt32
*
pPoints
,
PCONSTSALPOINT
*
pPtAry
)
=
0
;
virtual
bool
drawPolyPolygon
(
const
::
basegfx
::
B2DPolyPolygon
&
,
double
fTransparency
)
=
0
;
virtual
bool
drawPolyLine
(
const
::
basegfx
::
B2DPolygon
&
,
double
fTransparency
,
const
::
basegfx
::
B2DVector
&
rLineWidths
,
basegfx
::
B2DLineJoin
,
com
::
sun
::
star
::
drawing
::
LineCap
)
=
0
;
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
;
virtual
sal_Bool
drawPolyPolygonBezier
(
sal_uInt32
nPoly
,
const
sal_uInt32
*
pPoints
,
const
SalPoint
*
const
*
pPtAry
,
const
sal_uInt8
*
const
*
pFlgAry
)
=
0
;
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
;
virtual
void
drawPolyLine
(
sal_uLong
nPoints
,
const
SalPoint
*
pPtAry
)
=
0
;
virtual
void
drawPolygon
(
sal_uLong
nPoints
,
const
SalPoint
*
pPtAry
)
=
0
;
virtual
void
drawPolyPolygon
(
sal_uInt32
nPoly
,
const
sal_uInt32
*
pPoints
,
PCONSTSALPOINT
*
pPtAry
)
=
0
;
virtual
bool
drawPolyPolygon
(
const
::
basegfx
::
B2DPolyPolygon
&
,
double
fTransparency
)
=
0
;
virtual
bool
drawPolyLine
(
const
::
basegfx
::
B2DPolygon
&
,
double
fTransparency
,
const
::
basegfx
::
B2DVector
&
rLineWidths
,
basegfx
::
B2DLineJoin
,
com
::
sun
::
star
::
drawing
::
LineCap
)
=
0
;
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
;
virtual
sal_Bool
drawPolyPolygonBezier
(
sal_uInt32
nPoly
,
const
sal_uInt32
*
pPoints
,
const
SalPoint
*
const
*
pPtAry
,
const
sal_uInt8
*
const
*
pFlgAry
)
=
0
;
// CopyArea --> No RasterOp, but ClipRegion
virtual
void
copyArea
(
long
nDestX
,
long
nDestY
,
long
nSrcX
,
long
nSrcY
,
long
nSrcWidth
,
long
nSrcHeight
,
sal_uInt16
nFlags
)
=
0
;
virtual
void
copyArea
(
long
nDestX
,
long
nDestY
,
long
nSrcX
,
long
nSrcY
,
long
nSrcWidth
,
long
nSrcHeight
,
sal_uInt16
nFlags
)
=
0
;
// 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
;
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
;
virtual
void
invert
(
sal_uLong
nPoints
,
const
SalPoint
*
pPtAry
,
SalInvert
nFlags
)
=
0
;
virtual
void
invert
(
long
nX
,
long
nY
,
long
nWidth
,
long
nHeight
,
SalInvert
nFlags
)
=
0
;
virtual
void
invert
(
sal_uLong
nPoints
,
const
SalPoint
*
pPtAry
,
SalInvert
nFlags
)
=
0
;
virtual
sal_Bool
drawEPS
(
long
nX
,
long
nY
,
long
nWidth
,
long
nHeight
,
void
*
pPtr
,
sal_uLong
nSize
)
=
0
;
// native widget rendering methods that require mirroring
virtual
sal_Bool
hitTestNativeControl
(
ControlType
nType
,
ControlPart
nPart
,
const
Rectangle
&
rControlRegion
,
const
Point
&
aPos
,
sal_Bool
&
rIsInside
);
const
Point
&
aPos
,
sal_Bool
&
rIsInside
);
virtual
sal_Bool
drawNativeControl
(
ControlType
nType
,
ControlPart
nPart
,
const
Rectangle
&
rControlRegion
,
ControlState
nState
,
const
ImplControlValue
&
aValue
,
const
rtl
::
OUString
&
aCaption
);
ControlState
nState
,
const
ImplControlValue
&
aValue
,
const
rtl
::
OUString
&
aCaption
);
virtual
sal_Bool
getNativeControlRegion
(
ControlType
nType
,
ControlPart
nPart
,
const
Rectangle
&
rControlRegion
,
ControlState
nState
,
const
ImplControlValue
&
aValue
,
const
rtl
::
OUString
&
aCaption
,
Rectangle
&
rNativeBoundingRegion
,
Rectangle
&
rNativeContentRegion
);
const
ImplControlValue
&
aValue
,
const
rtl
::
OUString
&
aCaption
,
Rectangle
&
rNativeBoundingRegion
,
Rectangle
&
rNativeContentRegion
);
/** Render bitmap with alpha channel
...
...
@@ -174,24 +169,26 @@ protected:
otherwise. In this case, clients should try to emulate alpha
compositing themselves
*/
virtual
bool
drawAlphaBitmap
(
const
SalTwoRect
&
,
const
SalBitmap
&
rSourceBitmap
,
const
SalBitmap
&
rAlphaBitmap
)
=
0
;
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
;
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
virtual
sal_uInt16
GetBitCount
()
const
=
0
;
virtual
sal_uInt16
GetBitCount
()
const
=
0
;
// get the width of the device
virtual
long
GetGraphicsWidth
()
const
=
0
;
...
...
@@ -199,44 +196,63 @@ public:
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
virtual
void
SetXORMode
(
bool
bSet
,
bool
bInvertOnly
)
=
0
;
// 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
virtual
sal_uInt16
SetFont
(
FontSelectPattern
*
,
int
nFallbackLevel
)
=
0
;
virtual
sal_uInt16
SetFont
(
FontSelectPattern
*
,
int
nFallbackLevel
)
=
0
;
// release the fonts
void
ReleaseFonts
()
{
SetFont
(
NULL
,
0
);
}
void
ReleaseFonts
()
{
SetFont
(
NULL
,
0
);
}
// get the current font's metrics
virtual
void
GetFontMetric
(
ImplFontMetricData
*
,
int
nFallbackLevel
=
0
)
=
0
;
// get kerni
gn
pairs of the current font
// get kerni
ng
pairs of the current font
// return only PairCount if (pKernPairs == NULL)
virtual
sal_uLong
GetKernPairs
(
sal_uLong
nMaxPairCount
,
ImplKernPairData
*
)
=
0
;
virtual
sal_uLong
GetKernPairs
(
sal_uLong
nMaxPairCount
,
ImplKernPairData
*
)
=
0
;
// get the repertoire of the current font
virtual
const
ImplFontCharMap
*
GetImplFontCharMap
()
const
=
0
;
virtual
const
ImplFontCharMap
*
GetImplFontCharMap
()
const
=
0
;
// get the layout capabilities of the current font
virtual
bool
GetImplFontCapabilities
(
vcl
::
FontCapabilities
&
rFontCapabilities
)
const
=
0
;
virtual
bool
GetImplFontCapabilities
(
vcl
::
FontCapabilities
&
rFontCapabilities
)
const
=
0
;
// graphics must fill supplied font list
virtual
void
GetDevFontList
(
ImplDevFontList
*
)
=
0
;
// graphics must drop any cached font info
virtual
void
ClearDevFontCache
()
=
0
;
virtual
void
ClearDevFontCache
()
=
0
;
// graphics should call ImplAddDevFontSubstitute on supplied
// OutputDevice for all its device specific preferred font substitutions
virtual
void
GetDevFontSubstList
(
OutputDevice
*
)
=
0
;
virtual
bool
AddTempDevFont
(
ImplDevFontList
*
,
const
rtl
::
OUString
&
rFileURL
,
const
rtl
::
OUString
&
rFontName
)
=
0
;
// CreateFontSubset: a method to get a subset of glyhps of a font
// inside a new valid font file
// returns sal_True if creation of subset was successful
...
...
@@ -249,14 +265,13 @@ public:
// rInfo: additional outgoing information
// implementation note: encoding 0 with glyph id 0 should be added implicitly
// as "undefined character"
virtual
sal_Bool
CreateFontSubset
(
const
rtl
::
OUString
&
rToFile
,
virtual
sal_Bool
CreateFontSubset
(
const
rtl
::
OUString
&
rToFile
,
const
PhysicalFontFace
*
pFont
,
sal_Int32
*
pGlyphIDs
,
sal_uInt8
*
pEncoding
,
sal_Int32
*
pWidths
,
int
nGlyphs
,
FontSubsetInfo
&
rInfo
// out parameter
)
=
0
;
FontSubsetInfo
&
rInfo
)
=
0
;
// GetFontEncodingVector: a method to get the encoding map Unicode
// to font encoded character; this is only used for type1 fonts and
...
...
@@ -265,7 +280,8 @@ public:
// 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
virtual
const
Ucs2SIntMap
*
GetFontEncodingVector
(
const
PhysicalFontFace
*
,
const
Ucs2OStrMap
**
ppNonEncoded
)
=
0
;
virtual
const
Ucs2SIntMap
*
GetFontEncodingVector
(
const
PhysicalFontFace
*
,
const
Ucs2OStrMap
**
ppNonEncoded
)
=
0
;
// GetEmbedFontData: gets the font data for a font marked
// embeddable by GetDevFontList or NULL in case of error
...
...
@@ -276,12 +292,12 @@ public:
// pWidths MUST support at least 256 members;
// rInfo: additional outgoing information
// pDataLen: out parameter, contains the byte length of the returned buffer
virtual
const
void
*
GetEmbedFontData
(
const
PhysicalFontFace
*
pFont
,
const
sal_Ucs
*
pUnicodes
,
sal_Int32
*
pWidths
,
FontSubsetInfo
&
rInfo
,
long
*
pDataLen
)
=
0
;
// free
s
the font data again
virtual
const
void
*
GetEmbedFontData
(
const
PhysicalFontFace
*
pFont
,
const
sal_Ucs
*
pUnicodes
,
sal_Int32
*
pWidths
,
FontSubsetInfo
&
rInfo
,
long
*
pDataLen
)
=
0
;
// free the font data again
virtual
void
FreeEmbedFontData
(
const
void
*
pData
,
long
nDataLen
)
=
0
;
// get the same widths as in CreateFontSubset and GetEmbedFontData
...
...
@@ -293,11 +309,12 @@ public:
Int32Vector
&
rWidths
,
Ucs2UIntMap
&
rUnicodeEnc
)
=
0
;
virtual
sal_Bool
GetGlyphBoundRect
(
sal_GlyphId
nIndex
,
Rectangle
&
)
=
0
;
virtual
sal_Bool
GetGlyphOutline
(
sal_GlyphId
nIndex
,
basegfx
::
B2DPolyPolygon
&
)
=
0
;
virtual
sal_Bool
GetGlyphBoundRect
(
sal_GlyphId
nIndex
,
Rectangle
&
)
=
0
;
virtual
sal_Bool
GetGlyphOutline
(
sal_GlyphId
nIndex
,
basegfx
::
B2DPolyPolygon
&
)
=
0
;
virtual
SalLayout
*
GetTextLayout
(
ImplLayoutArgs
&
,
int
nFallbackLevel
)
=
0
;
virtual
void
DrawServerFontLayout
(
const
ServerFontLayout
&
)
=
0
;
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
...
...
@@ -329,7 +346,12 @@ public:
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
*/
virtual
bool
filterText
(
const
rtl
::
OUString
&
rOrigText
,
rtl
::
OUString
&
rNewText
,
xub_StrLen
nIndex
,
xub_StrLen
&
rLen
,
xub_StrLen
&
rCutStart
,
xub_StrLen
&
rCutStop
);
virtual
bool
filterText
(
const
rtl
::
OUString
&
rOrigText
,
rtl
::
OUString
&
rNewText
,
xub_StrLen
nIndex
,
xub_StrLen
&
rLen
,
xub_StrLen
&
rCutStart
,
xub_StrLen
&
rCutStop
);
virtual
bool
supportsOperation
(
OutDevSupportType
)
const
=
0
;
...
...
@@ -339,7 +361,7 @@ public:
void
mirror
(
long
&
nX
,
const
OutputDevice
*
pOutDev
,
bool
bBack
=
false
)
const
;
void
mirror
(
long
&
nX
,
long
&
nWidth
,
const
OutputDevice
*
pOutDev
,
bool
bBack
=
false
)
const
;
sal_Bool
mirror
(
sal_uInt32
nPoints
,
const
SalPoint
*
pPtAry
,
SalPoint
*
pPtAry2
,
const
OutputDevice
*
pOutDev
,
bool
bBack
=
false
)
const
;
sal_Bool
mirror
(
sal_uInt32
nPoints
,
const
SalPoint
*
pPtAry
,
SalPoint
*
pPtAry2
,
const
OutputDevice
*
pOutDev
,
bool
bBack
=
false
)
const
;
void
mirror
(
Rectangle
&
rRect
,
const
OutputDevice
*
,
bool
bBack
=
false
)
const
;
void
mirror
(
Region
&
rRgn
,
const
OutputDevice
*
pOutDev
,
bool
bBack
=
false
)
const
;
void
mirror
(
ImplControlValue
&
,
const
OutputDevice
*
,
bool
bBack
=
false
)
const
;
...
...
@@ -364,13 +386,12 @@ public:
const
OutputDevice
*
pOutDev
);
bool
DrawPolyPolygon
(
const
::
basegfx
::
B2DPolyPolygon
&
,
double
fTransparency
,
const
OutputDevice
*
);
bool
DrawPolyLine
(
const
basegfx
::
B2DPolygon
&
i_rPolygon
,
double
i_fTransparency
,
const
basegfx
::
B2DVector
&
i_rLineWidth
,
basegfx
::
B2DLineJoin
i_eLineJoin
,
com
::
sun
::
star
::
drawing
::
LineCap
i_eLineCap
,
const
OutputDevice
*
i_pOutDev
);
bool
DrawPolyLine
(
const
basegfx
::
B2DPolygon
&
i_rPolygon
,
double
i_fTransparency
,
const
basegfx
::
B2DVector
&
i_rLineWidth
,
basegfx
::
B2DLineJoin
i_eLineJoin
,
com
::
sun
::
star
::
drawing
::
LineCap
i_eLineCap
,
const
OutputDevice
*
i_pOutDev
);
sal_Bool
DrawPolyLineBezier
(
sal_uLong
nPoints
,
const
SalPoint
*
pPtAry
,
...
...
@@ -387,12 +408,9 @@ public:
const
OutputDevice
*
pOutDev
);
// CopyArea --> No RasterOp, but ClipRegion
void
CopyArea
(
long
nDestX
,
long
nDestY
,
long
nSrcX
,
long
nSrcY
,
long
nSrcWidth
,
long
nSrcHeight
,
void
CopyArea
(
long
nDestX
,
long
nDestY
,
long
nSrcX
,
long
nSrcY
,
long
nSrcWidth
,
long
nSrcHeight
,
sal_uInt16
nFlags
,
const
OutputDevice
*
pOutDev
);
...
...
@@ -415,60 +433,75 @@ public:
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
);
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
);
void
Invert
(
sal_uLong
nPoints
,
const
SalPoint
*
pPtAry
,
SalInvert
nFlags
,
const
OutputDevice
*
pOutDev
);
void
Invert
(
long
nX
,
long
nY
,
long
nWidth
,
long
nHeight
,
SalInvert
nFlags
,
const
OutputDevice
*
pOutDev
);
void
Invert
(
sal_uLong
nPoints
,
const
SalPoint
*
pPtAry
,
SalInvert
nFlags
,
const
OutputDevice
*
pOutDev
);
sal_Bool
DrawEPS
(
long
nX
,
long
nY
,
long
nWidth
,
long
nHeight
,
void
*
pPtr
,
sal_uLong
nSize
,
const
OutputDevice
*
pOutDev
);
sal_Bool
DrawEPS
(
long
nX
,
long
nY
,
long
nWidth
,
long
nHeight
,
void
*
pPtr
,
sal_uLong
nSize
,
const
OutputDevice
*
pOutDev
);
//-------------------------------------
// Native Widget Rendering functions
//-------------------------------------
// native widget rendering functions
// Query the platform layer for control support
virtual
sal_Bool
IsNativeControlSupported
(
ControlType
nType
,
ControlPart
nPart
);
virtual
sal_Bool
IsNativeControlSupported
(
ControlType
nType
,
ControlPart
nPart
);
// Query the native control to determine if it was acted upon
sal_Bool
HitTestNativeControl
(
ControlType
nType
,
ControlPart
nPart
,
const
Rectangle
&
rControlRegion
,
const
Point
&
aPos
,
sal_Bool
&
rIsInside
,
const
OutputDevice
*
pOutDev
);
sal_Bool
HitTestNativeControl
(
ControlType
nType
,
ControlPart
nPart
,
const
Rectangle
&
rControlRegion
,
const
Point
&
aPos
,
sal_Bool
&
rIsInside
,
const
OutputDevice
*
pOutDev
);
// Request rendering of a particular control and/or part
sal_Bool
DrawNativeControl
(
ControlType
nType
,
ControlPart
nPart
,
const
Rectangle
&
rControlRegion
,
ControlState
nState
,
const
ImplControlValue
&
aValue
,
const
rtl
::
OUString
&
aCaption
,
const
OutputDevice
*
pOutDev
);
sal_Bool
DrawNativeControl
(
ControlType
nType
,
ControlPart
nPart
,
const
Rectangle
&
rControlRegion
,
ControlState
nState
,
const
ImplControlValue
&
aValue
,
const
rtl
::
OUString
&
aCaption
,
const
OutputDevice
*
pOutDev
);
// Query the native control's actual drawing region (including adornment)
sal_Bool
GetNativeControlRegion
(
ControlType
nType
,
ControlPart
nPart
,
const
Rectangle
&
rControlRegion
,
ControlState
nState
,
const
ImplControlValue
&
aValue
,
const
rtl
::
OUString
&
aCaption
,
Rectangle
&
rNativeBoundingRegion
,
Rectangle
&
rNativeContentRegion
,
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
);
virtual
SystemGraphicsData
GetGraphicsData
()
const
=
0
;
virtual
SystemFontData
GetSysFontData
(
int
nFallbacklevel
)
const
=
0
;
sal_Bool
GetNativeControlRegion
(
ControlType
nType
,
ControlPart
nPart
,
const
Rectangle
&
rControlRegion
,
ControlState
nState
,
const
ImplControlValue
&
aValue
,
const
rtl
::
OUString
&
aCaption
,
Rectangle
&
rNativeBoundingRegion
,
Rectangle
&
rNativeContentRegion
,
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
);
virtual
SystemGraphicsData
GetGraphicsData
()
const
=
0
;
virtual
SystemFontData
GetSysFontData
(
int
nFallbacklevel
)
const
=
0
;
};
#endif // _SV_SALGDI_HXX
...
...
vcl/inc/salinst.hxx
Dosyayı görüntüle @
0cd6947e
...
...
@@ -73,20 +73,21 @@ public:
// DisplayName for Unix ???
virtual
SalFrame
*
CreateChildFrame
(
SystemParentData
*
pParent
,
sal_uLong
nStyle
)
=
0
;
virtual
SalFrame
*
CreateFrame
(
SalFrame
*
pParent
,
sal_uLong
nStyle
)
=
0
;
virtual
void
DestroyFrame
(
SalFrame
*
pFrame
)
=
0
;
virtual
void
DestroyFrame
(
SalFrame
*
pFrame
)
=
0
;
// Object (System Child Window)
virtual
SalObject
*
CreateObject
(
SalFrame
*
pParent
,
SystemWindowData
*
pWindowData
,
sal_Bool
bShow
=
sal_True
)
=
0
;
virtual
void
DestroyObject
(
SalObject
*
pObject
)
=
0
;
virtual
SalObject
*
CreateObject
(
SalFrame
*
pParent
,
SystemWindowData
*
pWindowData
,
sal_Bool
bShow
=
sal_True
)
=
0
;
virtual
void
DestroyObject
(
SalObject
*
pObject
)
=
0
;
// VirtualDevice
// nDX and nDY in
Pixel
// nBitCount: 0 ==
Default(=as window) / 1 == M
ono
// nDX and nDY in
pixels
// nBitCount: 0 ==
default(=as window) / 1 == m
ono
// pData allows for using a system dependent graphics or device context
virtual
SalVirtualDevice
*
CreateVirtualDevice
(
SalGraphics
*
pGraphics
,
long
nDX
,
long
nDY
,
sal_uInt16
nBitCount
,
const
SystemGraphicsData
*
pData
=
NULL
)
=
0
;
virtual
void
DestroyVirtualDevice
(
SalVirtualDevice
*
pDevice
)
=
0
;
virtual
SalVirtualDevice
*
CreateVirtualDevice
(
SalGraphics
*
pGraphics
,
long
nDX
,
long
nDY
,
sal_uInt16
nBitCount
,
const
SystemGraphicsData
*
pData
=
NULL
)
=
0
;
virtual
void
DestroyVirtualDevice
(
SalVirtualDevice
*
pDevice
)
=
0
;
// Printer
// pSetupData->mpDriverData can be 0
...
...
@@ -94,38 +95,40 @@ public:
// JobSetup
virtual
SalInfoPrinter
*
CreateInfoPrinter
(
SalPrinterQueueInfo
*
pQueueInfo
,
ImplJobSetup
*
pSetupData
)
=
0
;
virtual
void
DestroyInfoPrinter
(
SalInfoPrinter
*
pPrinter
)
=
0
;
virtual
void
DestroyInfoPrinter
(
SalInfoPrinter
*
pPrinter
)
=
0
;
virtual
SalPrinter
*
CreatePrinter
(
SalInfoPrinter
*
pInfoPrinter
)
=
0
;
virtual
void
DestroyPrinter
(
SalPrinter
*
pPrinter
)
=
0
;
virtual
void
DestroyPrinter
(
SalPrinter
*
pPrinter
)
=
0
;
virtual
void
GetPrinterQueueInfo
(
ImplPrnQueueList
*
pList
)
=
0
;
virtual
void
GetPrinterQueueState
(
SalPrinterQueueInfo
*
pInfo
)
=
0
;
virtual
void
DeletePrinterQueueInfo
(
SalPrinterQueueInfo
*
pInfo
)
=
0
;
virtual
OUString
GetDefaultPrinter
()
=
0
;
virtual
void
GetPrinterQueueInfo
(
ImplPrnQueueList
*
pList
)
=
0
;
virtual
void
GetPrinterQueueState
(
SalPrinterQueueInfo
*
pInfo
)
=
0
;
virtual
void
DeletePrinterQueueInfo
(
SalPrinterQueueInfo
*
pInfo
)
=
0
;
virtual
OUString
GetDefaultPrinter
()
=
0
;
// SalTimer
virtual
SalTimer
*
CreateSalTimer
()
=
0
;
virtual
SalTimer
*
CreateSalTimer
()
=
0
;
// SalI18NImeStatus
virtual
SalI18NImeStatus
*
CreateI18NImeStatus
()
=
0
;
virtual
SalI18NImeStatus
*
CreateI18NImeStatus
()
=
0
;
// SalSystem
virtual
SalSystem
*
CreateSalSystem
()
=
0
;
virtual
SalSystem
*
CreateSalSystem
()
=
0
;
// SalBitmap
virtual
SalBitmap
*
CreateSalBitmap
()
=
0
;
virtual
SalBitmap
*
CreateSalBitmap
()
=
0
;
// YieldMutex
virtual
osl
::
SolarMutex
*
GetYieldMutex
()
=
0
;
virtual
sal_uLong
ReleaseYieldMutex
()
=
0
;
virtual
void
AcquireYieldMutex
(
sal_uLong
nCount
)
=
0
;
virtual
osl
::
SolarMutex
*
GetYieldMutex
()
=
0
;
virtual
sal_uLong
ReleaseYieldMutex
()
=
0
;
virtual
void
AcquireYieldMutex
(
sal_uLong
nCount
)
=
0
;
// return true, if yield mutex is owned by this thread, else false
virtual
bool
CheckYieldMutex
()
=
0
;
virtual
bool
CheckYieldMutex
()
=
0
;
// wait next event and dispatch
// must returned by UserEvent (SalFrame::PostEvent)
// and timer
virtual
void
Yield
(
bool
bWait
,
bool
bHandleAllCurrentEvents
)
=
0
;
virtual
bool
AnyInput
(
sal_uInt16
nType
)
=
0
;
virtual
void
Yield
(
bool
bWait
,
bool
bHandleAllCurrentEvents
)
=
0
;
virtual
bool
AnyInput
(
sal_uInt16
nType
)
=
0
;
// Menue
s
// menu
s
virtual
SalMenu
*
CreateMenu
(
sal_Bool
bMenuBar
,
Menu
*
pMenu
);
virtual
void
DestroyMenu
(
SalMenu
*
pMenu
);
virtual
SalMenuItem
*
CreateMenuItem
(
const
SalItemParams
*
pItemData
);
...
...
@@ -136,43 +139,47 @@ public:
// methods for XDisplayConnection
void
SetEventCallback
(
rtl
::
Reference
<
vcl
::
DisplayConnectionDispatch
>
const
&
pInstance
)
{
m_pEventInst
=
pInstance
;
}
bool
CallEventCallback
(
void
*
pEvent
,
int
nBytes
)
{
return
m_pEventInst
.
is
()
&&
m_pEventInst
->
dispatchEvent
(
pEvent
,
nBytes
);
}
bool
CallErrorCallback
(
void
*
pEvent
,
int
nBytes
)
{
return
m_pEventInst
.
is
()
&&
m_pEventInst
->
dispatchErrorEvent
(
pEvent
,
nBytes
);
}
void
SetEventCallback
(
rtl
::
Reference
<
vcl
::
DisplayConnectionDispatch
>
const
&
pInstance
)
{
m_pEventInst
=
pInstance
;
}
bool
CallEventCallback
(
void
*
pEvent
,
int
nBytes
)
{
return
m_pEventInst
.
is
()
&&
m_pEventInst
->
dispatchEvent
(
pEvent
,
nBytes
);
}
bool
CallErrorCallback
(
void
*
pEvent
,
int
nBytes
)
{
return
m_pEventInst
.
is
()
&&
m_pEventInst
->
dispatchErrorEvent
(
pEvent
,
nBytes
);
}
enum
ConnectionIdentifierType
{
AsciiCString
,
Blob
};
virtual
void
*
GetConnectionIdentifier
(
ConnectionIdentifierType
&
rReturnedType
,
int
&
rReturnedBytes
)
=
0
;
virtual
void
*
GetConnectionIdentifier
(
ConnectionIdentifierType
&
rReturnedType
,
int
&
rReturnedBytes
)
=
0
;
// this is a vehicle for PrintFontManager to bridge the gap between vcl and libvclplug_*
// this is only necessary because PrintFontManager is an exported vcl API and therefore
// needs to be in libvcl while libvclplug_* do not contain exported C++ API
virtual
void
FillFontPathList
(
std
::
list
<
rtl
::
OString
>&
o_rFontPaths
);
virtual
void
FillFontPathList
(
std
::
list
<
rtl
::
OString
>&
o_rFontPaths
);
// dtrans implementation
virtual
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
uno
::
XInterface
>
CreateClipboard
(
const
com
::
sun
::
star
::
uno
::
Sequence
<
com
::
sun
::
star
::
uno
::
Any
>&
i_rArguments
);
virtual
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
uno
::
XInterface
>
CreateDragSource
();
virtual
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
uno
::
XInterface
>
CreateDropTarget
();
virtual
void
AddToRecentDocumentList
(
const
OUString
&
rFileUrl
,
const
OUString
&
rMimeType
)
=
0
;
CreateClipboard
(
const
com
::
sun
::
star
::
uno
::
Sequence
<
com
::
sun
::
star
::
uno
::
Any
>&
i_rArguments
);
virtual
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
uno
::
XInterface
>
CreateDragSource
();
virtual
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
uno
::
XInterface
>
CreateDropTarget
();
virtual
void
AddToRecentDocumentList
(
const
OUString
&
rFileUrl
,
const
OUString
&
rMimeType
)
=
0
;
virtual
bool
hasNativeFileSelection
()
const
{
return
false
;
}
virtual
bool
hasNativeFileSelection
()
const
{
return
false
;
}
virtual
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
ui
::
dialogs
::
XFilePicker2
>
createFilePicker
(
const
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
uno
::
XComponentContext
>&
)
{
return
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
ui
::
dialogs
::
XFilePicker2
>
();
}
createFilePicker
(
const
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
uno
::
XComponentContext
>&
)
{
return
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
ui
::
dialogs
::
XFilePicker2
>
();
}
virtual
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
ui
::
dialogs
::
XFolderPicker2
>
createFolderPicker
(
const
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
uno
::
XComponentContext
>&
)
{
return
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
ui
::
dialogs
::
XFolderPicker2
>
();
}
createFolderPicker
(
const
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
uno
::
XComponentContext
>&
)
{
return
com
::
sun
::
star
::
uno
::
Reference
<
com
::
sun
::
star
::
ui
::
dialogs
::
XFolderPicker2
>
();
}
// callbacks for printer updates
virtual
void
updatePrinterUpdate
()
{}
virtual
void
jobStartedPrinterUpdate
()
{}
virtual
void
jobEndedPrinterUpdate
()
{}
virtual
void
updatePrinterUpdate
()
{}
virtual
void
jobStartedPrinterUpdate
()
{}
virtual
void
jobEndedPrinterUpdate
()
{}
};
// called from SVMain
...
...
vcl/inc/sallayout.hxx
Dosyayı görüntüle @
0cd6947e
...
...
@@ -39,10 +39,7 @@ class PhysicalFontFace;
#define MAX_FALLBACK 16
// ----------------
// - LayoutOption -
// ----------------
// Layout options
#define SAL_LAYOUT_BIDI_RTL 0x0001
#define SAL_LAYOUT_BIDI_STRONG 0x0002
#define SAL_LAYOUT_RIGHT_ALIGN 0x0004
...
...
@@ -238,14 +235,14 @@ public:
virtual
long
FillDXArray
(
sal_Int32
*
pDXArray
)
const
;
virtual
void
GetCaretPositions
(
int
nArraySize
,
sal_Int32
*
pCaretXArray
)
const
;
virtual
int
GetNextGlyphs
(
int
nLen
,
sal_GlyphId
*
pGlyphIdxAry
,
Point
&
rPos
,
int
&
,
sal_Int32
*
pGlyphAdvAry
,
int
*
pCharPosAry
)
const
;
int
&
,
sal_Int32
*
pGlyphAdvAry
,
int
*
pCharPosAry
)
const
;
virtual
bool
GetOutline
(
SalGraphics
&
,
::
basegfx
::
B2DPolyPolygonVector
&
)
const
;
// used only by OutputDevice::ImplLayout, TODO: make friend
explicit
MultiSalLayout
(
SalLayout
&
rBaseLayout
,
const
PhysicalFontFace
*
pBaseFont
=
NULL
);
const
PhysicalFontFace
*
pBaseFont
=
NULL
);
virtual
bool
AddFallback
(
SalLayout
&
rFallbackLayout
,
ImplLayoutRuns
&
,
const
PhysicalFontFace
*
pFallbackFont
);
ImplLayoutRuns
&
,
const
PhysicalFontFace
*
pFallbackFont
);
virtual
bool
LayoutText
(
ImplLayoutArgs
&
);
virtual
void
AdjustLayout
(
ImplLayoutArgs
&
);
virtual
void
InitFont
()
const
;
...
...
vcl/inc/salsys.hxx
Dosyayı görüntüle @
0cd6947e
...
...
@@ -24,8 +24,7 @@
#include <vcl/dllapi.h>
#include <rtl/ustring.hxx>
/* Button combinations for ShowNativeMessageBox
*/
// Button combinations for ShowNativeMessageBox
const
int
SALSYSTEM_SHOWNATIVEMSGBOX_BTNCOMBI_OK
=
0
;
const
int
SALSYSTEM_SHOWNATIVEMSGBOX_BTNCOMBI_OK_CANCEL
=
1
;
const
int
SALSYSTEM_SHOWNATIVEMSGBOX_BTNCOMBI_ABORT_RETRY_IGNORE
=
2
;
...
...
@@ -33,8 +32,7 @@ const int SALSYSTEM_SHOWNATIVEMSGBOX_BTNCOMBI_YES_NO_CANCEL = 3;
const
int
SALSYSTEM_SHOWNATIVEMSGBOX_BTNCOMBI_YES_NO
=
4
;
const
int
SALSYSTEM_SHOWNATIVEMSGBOX_BTNCOMBI_RETRY_CANCEL
=
5
;
/* Button identifier for ShowNativeMessageBox
*/
// Button identifier for ShowNativeMessageBox
const
int
SALSYSTEM_SHOWNATIVEMSGBOX_BTN_OK
=
1
;
const
int
SALSYSTEM_SHOWNATIVEMSGBOX_BTN_CANCEL
=
2
;
const
int
SALSYSTEM_SHOWNATIVEMSGBOX_BTN_ABORT
=
3
;
...
...
@@ -43,7 +41,6 @@ const int SALSYSTEM_SHOWNATIVEMSGBOX_BTN_IGNORE = 5;
const
int
SALSYSTEM_SHOWNATIVEMSGBOX_BTN_YES
=
6
;
const
int
SALSYSTEM_SHOWNATIVEMSGBOX_BTN_NO
=
7
;
class
VCL_PLUGIN_PUBLIC
SalSystem
{
public
:
...
...
vcl/inc/salvd.hxx
Dosyayı görüntüle @
0cd6947e
...
...
@@ -34,21 +34,21 @@ public: // public for Sal Implementation
// SalGraphics or NULL, but two Graphics for all SalVirtualDevices
// must be returned
virtual
SalGraphics
*
GetGraphics
()
=
0
;
virtual
void
ReleaseGraphics
(
SalGraphics
*
pGraphics
)
=
0
;
virtual
SalGraphics
*
GetGraphics
()
=
0
;
virtual
void
ReleaseGraphics
(
SalGraphics
*
pGraphics
)
=
0
;
// Set new size, without saving the old contents
virtual
sal_Bool
SetSize
(
long
nNewDX
,
long
nNewDY
)
=
0
;
virtual
sal_Bool
SetSize
(
long
nNewDX
,
long
nNewDY
)
=
0
;
// Set new size using a buffer at the given address
virtual
sal_Bool
SetSizeUsingBuffer
(
long
nNewDX
,
long
nNewDY
,
const
basebmp
::
RawMemorySharedArray
&
/* pBuffer */
)
{
// Only the headless virtual device has an implementation that uses pBuffer.
return
SetSize
(
nNewDX
,
nNewDY
);
}
virtual
sal_Bool
SetSizeUsingBuffer
(
long
nNewDX
,
long
nNewDY
,
const
basebmp
::
RawMemorySharedArray
&
/* pBuffer */
)
{
// Only the headless virtual device has an implementation that uses pBuffer.
return
SetSize
(
nNewDX
,
nNewDY
);
}
/// Get actual VDev size in pixel
virtual
void
GetSize
(
long
&
rWidth
,
long
&
rHeight
)
=
0
;
virtual
void
GetSize
(
long
&
rWidth
,
long
&
rHeight
)
=
0
;
};
#endif // _SV_SALVD_HXX
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment