CWS-TOOLING: integrate CWS vcl101
2009-04-30 16:05:34 +0200 pl r271420 : #i95591# need a poll timer so XtTimers work properly 2009-04-30 11:25:52 +0200 hdu r271406 : #i100929# avoid unneeded colormap reallocation 2009-04-30 11:21:16 +0200 hdu r271405 : #i100929# use improved SetDrawable() also for salframe updates 2009-04-30 11:12:41 +0200 hdu r271404 : i100929# invalidate cached renderpic also for changed vdev 2009-04-29 14:31:40 +0200 hdu r271375 : i100929# use cached renderpic also for alpha-rect/bitmap drawing 2009-04-29 14:16:51 +0200 hdu r271370 : i100929# notify only GtkSalFrame's valid X11SalFrames 2009-04-29 13:58:10 +0200 hdu r271369 : i100929# notify GtkSalFrame's X11SalGraphics that their drawables will become obsolete 2009-04-29 13:53:48 +0200 hdu r271367 : #i100929# release cached renderpic whenever the corresponding drawable changes 2009-04-28 11:56:07 +0200 pl r271317 : fix a snafu 2009-04-27 16:52:29 +0200 hdu r271293 : #i100000# WAE fix for debug=true compilation 2009-04-27 12:38:11 +0200 hdu r271260 : #i101367# disable vdev mapmode when measuring pixel size 2009-04-27 12:28:37 +0200 hdu r271259 : #i101367# speedup svclcanvas::CanvasBitmapHelper::getSize() 2009-04-23 15:11:25 +0200 hdu r271175 : #i91685# ignore trailing space in last cell 2009-04-23 12:55:14 +0200 pl r271156 : #i101032# check for empty bitmap 2009-04-23 11:04:50 +0200 pl r271144 : #101184# add a paranoia check 2009-04-21 19:12:25 +0200 pl r271055 : #i101184# add: recognize added/removed monitors in xinerama configuration for gtk plugin (thanks cmc) 2009-04-21 17:04:44 +0200 pl r271046 : #i101089# remove unused method (thanks cmc) 2009-04-21 16:41:38 +0200 hdu r271042 : #i99842# set text decoration color 2009-04-20 22:57:37 +0200 pl r271015 : #i101063# fix warnings 2009-04-20 22:55:39 +0200 pl r271014 : #i101063# fix warnings 2009-04-20 11:35:24 +0200 hdu r270968 : #i1001102# remove dependency to psprint module 2009-04-20 11:31:08 +0200 hdu r270967 : #i100929# keep cached render Picture in X11SalGraphics removes 2009-04-20 11:24:57 +0200 hdu r270966 : #i100929# cache render Picture in X11SalGraphics 2009-04-18 14:53:22 +0200 hdu r270959 : CWS-TOOLING: rebase CWS vcl101 to trunk@270723 (milestone: DEV300:m46) 2009-04-17 12:00:50 +0200 hdu r270934 : #i100951# b2d-polygon clipping handles bezier-segments nowadays => performance opt possible 2009-04-17 11:50:49 +0200 hdu r270933 : #i100922# count b2d-polypoly-points to avoid priority-queue reallocations 2009-04-17 11:07:03 +0200 hdu r270930 : #i101145# match dpi-sanity check with gnome-UI (thanks Caolan!) 2009-04-17 10:44:41 +0200 hdu r270929 : #i100603# dingbats-encoded PDF-builtin fonts are symbol fonts too 2009-04-17 10:36:10 +0200 hdu r270928 : #i101145# check sanity of resolution reported by Xft-dpi (thanks CMC!) 2009-04-08 13:53:35 +0200 hdu r270644 : #i100951# avoid expensive calls to basegfx::tools::clipPolygonOnRange() if possible 2009-04-08 13:19:26 +0200 hdu r270637 : #i100922# prevent needless stl::priority_queue reallacations by reserving 2009-04-08 11:14:30 +0200 hdu r270627 : #i100929# use X11SalGraphics::GetXRenderPicture() also for text drawing 2009-04-08 10:00:42 +0200 hdu r270620 : #i100929# add and use X11SalGraphics::GetXRenderPicture() for polygon drawing 2009-04-06 15:52:47 +0200 hdu r270563 : #i100885# add and use AquaSalGraphics::copyResolution() to speed up virdev creation 2009-04-02 14:39:06 +0200 pl r270408 : #i95873# do not set LD_LIBRARY_PATH for external apps 2009-03-31 18:43:19 +0200 pl r270292 : #i99783# transparency of closer image changed to mask in the meantime 2009-03-27 15:42:37 +0100 hdu r270158 : #i100591# fix binary search in dingbats encoding converter 2009-03-27 13:06:34 +0100 hdu r270151 : #i100603# only PDF builtin text fonts use WinAnsiEncoding 2009-03-27 12:05:35 +0100 hdu r270147 : #i100603# use correct encoding for all PDF builtin fonts 2009-03-27 09:04:07 +0100 hdu r270133 : #i100603# use proper encoding for PDF builtin symbol fonts 2009-03-26 17:19:38 +0100 hdu r270090 : #i100591# support RTL_TEXTENCODING_ADOBE_DINGBATS encoding 2009-03-25 09:02:18 +0100 hdu r269995 : #i100521# prefer osl_getAsciiFunctionSymbol() when dynloading SAGE and extra USER32 symbols 2009-03-25 08:55:49 +0100 hdu r269994 : #i100521# prefer osl_getAsciiFunctionSymbol() when dynloading LUNA symbols 2009-03-24 16:15:54 +0100 hdu r269965 : #i100521# prefer osl_getAsciiFunctionSymbol() when dynloading vclplugin symbols 2009-03-24 16:10:29 +0100 hdu r269963 : #i100521# prefer osl_getAsciiFunctionSymbol() when dynloading USP symbols 2009-03-24 15:54:30 +0100 hdu r269962 : #i100521# prefer osl_getAsciiFunctionSymbol() when dynloading xrender symbols 2009-03-24 10:46:55 +0100 hdu r269920 : #i100506# fix WAE build breakers on unxsols4 for debug=true 2009-03-23 16:36:43 +0100 hdu r269884 : #159477# fix crash for PDFs with big zlib-chunks 2009-03-20 17:36:56 +0100 pl r269821 : #i96568# add recent files to mac quickstarter 2009-03-20 14:39:41 +0100 pl r269809 : #i35482# no HC mode detection, automatically done in independent part 2009-03-19 20:01:37 +0100 pl r269768 : #i95591# do not reuse UnxPloginComm because of connection loss problems 2009-03-19 18:08:23 +0100 pl r269765 : #i95588# change default visibility that was ignored everywhere but unix anyway
This commit is contained in:
parent
c1f8c3252a
commit
847a872bcf
@ -105,6 +105,19 @@ namespace vclcanvas
|
||||
return *maBitmap;
|
||||
}
|
||||
|
||||
Size BitmapBackBuffer::getBitmapSizePixel() const
|
||||
{
|
||||
Size aSize = maBitmap->GetSizePixel();
|
||||
|
||||
if( mbVDevContentIsCurrent && mpVDev )
|
||||
{
|
||||
mpVDev->EnableMapMode( FALSE );
|
||||
aSize = mpVDev->GetOutputSizePixel();
|
||||
}
|
||||
|
||||
return aSize;
|
||||
}
|
||||
|
||||
void BitmapBackBuffer::createVDev() const
|
||||
{
|
||||
if( !mpVDev )
|
||||
@ -151,5 +164,5 @@ namespace vclcanvas
|
||||
mbBitmapContentIsCurrent = false;
|
||||
mbVDevContentIsCurrent = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -70,6 +70,7 @@ namespace vclcanvas
|
||||
@internal
|
||||
*/
|
||||
BitmapEx& getBitmapReference();
|
||||
Size getBitmapSizePixel() const;
|
||||
|
||||
private:
|
||||
void createVDev() const;
|
||||
@ -103,3 +104,4 @@ namespace vclcanvas
|
||||
}
|
||||
|
||||
#endif /* #ifndef _VCLCANVAS_BITMAPBACKBUFFER_HXX_ */
|
||||
|
||||
|
@ -109,7 +109,7 @@ namespace vclcanvas
|
||||
if( !mpBackBuffer )
|
||||
return geometry::IntegerSize2D();
|
||||
|
||||
return ::vcl::unotools::integerSize2DFromSize( mpBackBuffer->getBitmapReference().GetSizePixel() );
|
||||
return ::vcl::unotools::integerSize2DFromSize( mpBackBuffer->getBitmapSizePixel() );
|
||||
}
|
||||
|
||||
void CanvasBitmapHelper::clear()
|
||||
|
@ -1711,7 +1711,7 @@ BOOL BrowseBox::GoToColumnId( USHORT nColId, BOOL bMakeVisible, BOOL bRowColMove
|
||||
if (!bRowColMove && !IsCursorMoveAllowed( nCurRow, nColId ) )
|
||||
return FALSE;
|
||||
|
||||
if ( nColId != nCurColId || bMakeVisible && !IsFieldVisible(nCurRow, nColId, TRUE))
|
||||
if ( nColId != nCurColId || (bMakeVisible && !IsFieldVisible(nCurRow, nColId, TRUE)))
|
||||
{
|
||||
USHORT nNewPos = GetColumnPos(nColId);
|
||||
BrowserColumn* pColumn = pCols->GetObject( nNewPos );
|
||||
|
@ -901,7 +901,7 @@ sal_Bool SvtSecurityOptions_Impl::IsSecureURL( const OUString& sURL ,
|
||||
INetProtocol aProtocol = aURL.GetProtocol();
|
||||
|
||||
// All other URLs must checked in combination with referer and internal information about security
|
||||
if ( aProtocol != INET_PROT_MACRO && aProtocol != INET_PROT_SLOT ||
|
||||
if ( (aProtocol != INET_PROT_MACRO && aProtocol != INET_PROT_SLOT) ||
|
||||
aURL.GetMainURL( INetURLObject::NO_DECODE ).matchIgnoreAsciiCaseAsciiL( "macro:///", 9 ) == 0)
|
||||
{
|
||||
// security check only for "macro" ( without app basic ) or "slot" protocols
|
||||
|
@ -47,7 +47,7 @@
|
||||
FileControl::FileControl( Window* pParent, WinBits nStyle, FileControlMode nFlags ) :
|
||||
Window( pParent, nStyle|WB_DIALOGCONTROL ),
|
||||
maEdit( this, (nStyle&(~WB_BORDER))|WB_NOTABSTOP ),
|
||||
maButton( this, nStyle&(~WB_BORDER)|WB_NOLIGHTBORDER|WB_NOPOINTERFOCUS|WB_NOTABSTOP ),
|
||||
maButton( this, (nStyle&(~WB_BORDER))|WB_NOLIGHTBORDER|WB_NOPOINTERFOCUS|WB_NOTABSTOP ),
|
||||
maButtonText( SvtResId( STR_FILECTRL_BUTTONTEXT ) ),
|
||||
mnFlags( nFlags ),
|
||||
mnInternalFlags( FILECTRL_ORIGINALBUTTONTEXT )
|
||||
@ -164,11 +164,11 @@ void FileControl::Resize()
|
||||
Size aOutSz = GetOutputSizePixel();
|
||||
long nButtonTextWidth = maButton.GetTextWidth( maButtonText );
|
||||
if ( ((mnInternalFlags & FILECTRL_ORIGINALBUTTONTEXT) == 0) ||
|
||||
nButtonTextWidth < aOutSz.Width()/3 &&
|
||||
( nButtonTextWidth < aOutSz.Width()/3 &&
|
||||
( mnFlags & FILECTRL_RESIZEBUTTONBYPATHLEN
|
||||
? ( maEdit.GetTextWidth( maEdit.GetText() )
|
||||
<= aOutSz.Width() - nButtonTextWidth - ButtonBorder )
|
||||
: TRUE )
|
||||
: TRUE ) )
|
||||
)
|
||||
{
|
||||
maButton.SetText( maButtonText );
|
||||
|
@ -374,8 +374,8 @@ void SvtMatchContext_Impl::ReadFolder( const String& rURL,
|
||||
|
||||
sal_Bool bExectMatch = bPureHomePath
|
||||
|| aText.CompareToAscii( "." ) == COMPARE_EQUAL
|
||||
|| aText.Len() > 1 && aText.Copy( aText.Len() - 2, 2 ).CompareToAscii( "/." ) == COMPARE_EQUAL
|
||||
|| aText.Len() > 1 && aText.Copy( aText.Len() - 3, 3 ).CompareToAscii( "/.." ) == COMPARE_EQUAL;
|
||||
|| (aText.Len() > 1 && aText.Copy( aText.Len() - 2, 2 ).CompareToAscii( "/." ) == COMPARE_EQUAL)
|
||||
|| (aText.Len() > 2 && aText.Copy( aText.Len() - 3, 3 ).CompareToAscii( "/.." ) == COMPARE_EQUAL);
|
||||
|
||||
// for pure home pathes ( ~username ) the '.' at the end of rMatch
|
||||
// means that it poits to root catalog
|
||||
@ -641,7 +641,7 @@ void SvtMatchContext_Impl::run()
|
||||
// if the user input is a valid URL, go on with it
|
||||
// otherwise it could be parsed smart with a predefined smart protocol
|
||||
// ( or if this is not set with the protocol of a predefined base URL )
|
||||
if( eProt == INET_PROT_NOT_VALID || eProt == eSmartProt || eSmartProt == INET_PROT_NOT_VALID && eProt == eBaseProt )
|
||||
if( eProt == INET_PROT_NOT_VALID || eProt == eSmartProt || (eSmartProt == INET_PROT_NOT_VALID && eProt == eBaseProt) )
|
||||
{
|
||||
// not stopped yet ?
|
||||
if( schedule() )
|
||||
|
@ -157,7 +157,7 @@ long XBMReader::ParseDefine( const sal_Char* pDefine )
|
||||
{
|
||||
long nRet = 0;
|
||||
char* pTmp = (char*) pDefine;
|
||||
char cTmp;
|
||||
unsigned char cTmp;
|
||||
|
||||
// bis zum Ende gehen
|
||||
pTmp += ( strlen( pDefine ) - 1 );
|
||||
|
@ -157,6 +157,7 @@ public:
|
||||
void SetVirDevGraphics( CGLayerRef, CGContextRef, int nBitDepth = 0 );
|
||||
|
||||
void initResolution( NSWindow* );
|
||||
void copyResolution( AquaSalGraphics& );
|
||||
void updateResolution();
|
||||
|
||||
bool IsWindowGraphics() const { return mbWindow; }
|
||||
|
@ -301,7 +301,7 @@ void ATSLayout::AdjustLayout( ImplLayoutArgs& rArgs )
|
||||
int nPixelWidth = rArgs.mnLayoutWidth;
|
||||
if( !nPixelWidth && rArgs.mpDXArray ) {
|
||||
// for now we are only interested in the layout width
|
||||
// TODO: account for individual logical widths
|
||||
// TODO: use all mpDXArray elements for layouting
|
||||
nPixelWidth = rArgs.mpDXArray[ mnCharCount - 1 ];
|
||||
|
||||
// workaround for ATSUI not using trailing spaces for justification
|
||||
@ -309,14 +309,21 @@ void ATSLayout::AdjustLayout( ImplLayoutArgs& rArgs )
|
||||
int i = mnCharCount;
|
||||
while( (--i > 0) && IsSpacingGlyph( rArgs.mpStr[mnMinCharPos+i]|GF_ISCHAR ) )
|
||||
mnTrailingSpaceWidth += rArgs.mpDXArray[i] - rArgs.mpDXArray[i-1];
|
||||
if( i <= 0 )
|
||||
return;
|
||||
// #i91685# trailing letters are left aligned (right aligned for RTL)
|
||||
mnTrailingSpaceWidth += rArgs.mpDXArray[i];
|
||||
if( i > 0 )
|
||||
mnTrailingSpaceWidth -= rArgs.mpDXArray[i-1];
|
||||
InitGIA(); // ensure valid mpCharWidths[]
|
||||
mnTrailingSpaceWidth -= Fixed2Vcl( mpCharWidths[i] );
|
||||
// ignore trailing space for calculating the available width
|
||||
nOrigWidth -= mnTrailingSpaceWidth;
|
||||
nPixelWidth -= mnTrailingSpaceWidth;
|
||||
// trailing spaces can be leftmost spaces in RTL-layouts
|
||||
// in RTL-layouts trailing spaces are leftmost
|
||||
// TODO: use BiDi-algorithm to thoroughly check this assumption
|
||||
if( rArgs.mnFlags & SAL_LAYOUT_BIDI_RTL)
|
||||
mnBaseAdv = mnTrailingSpaceWidth;
|
||||
|
||||
// TODO: use all mpDXArray elements for layouting
|
||||
}
|
||||
// return early if there is nothing to do
|
||||
if( !nPixelWidth )
|
||||
|
@ -416,6 +416,16 @@ void AquaSalGraphics::GetResolution( long& rDPIX, long& rDPIY )
|
||||
rDPIY = static_cast<long>(mfFakeDPIScale * mnRealDPIY);
|
||||
}
|
||||
|
||||
void AquaSalGraphics::copyResolution( AquaSalGraphics& rGraphics )
|
||||
{
|
||||
if( !rGraphics.mnRealDPIY && rGraphics.mbWindow && rGraphics.mpFrame )
|
||||
rGraphics.initResolution( rGraphics.mpFrame->mpWindow );
|
||||
|
||||
mnRealDPIX = rGraphics.mnRealDPIX;
|
||||
mnRealDPIY = rGraphics.mnRealDPIY;
|
||||
mfFakeDPIScale = rGraphics.mfFakeDPIScale;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
USHORT AquaSalGraphics::GetBitCount()
|
||||
|
@ -87,7 +87,7 @@ AquaSalVirtualDevice::AquaSalVirtualDevice( AquaSalGraphics* pGraphic, long nDX,
|
||||
if( pFrame && AquaSalFrame::isAlive( pFrame ) )
|
||||
{
|
||||
mpGraphics->setGraphicsFrame( pFrame );
|
||||
mpGraphics->initResolution( pFrame->mpWindow );
|
||||
mpGraphics->copyResolution( *pGraphic );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -46,7 +46,7 @@ class VCL_DLLPUBLIC SystemChildWindow : public Window
|
||||
{
|
||||
private:
|
||||
using Window::ImplInit;
|
||||
SAL_DLLPRIVATE void ImplInitSysChild( Window* pParent, WinBits nStyle, SystemWindowData *pData, BOOL bShow = TRUE );
|
||||
SAL_DLLPRIVATE void ImplInitSysChild( Window* pParent, WinBits nStyle, SystemWindowData *pData, BOOL bShow = FALSE );
|
||||
|
||||
// Copy assignment is forbidden and not implemented.
|
||||
SAL_DLLPRIVATE SystemChildWindow (const SystemChildWindow &);
|
||||
|
@ -646,7 +646,7 @@ const PDFWriterImpl::BuiltinFont PDFWriterImpl::m_aBuiltinFonts[ 14 ] = {
|
||||
"ZapfDingbats", // PSName
|
||||
820, -143, // ascend, descend
|
||||
FAMILY_DONTKNOW, // family style
|
||||
RTL_TEXTENCODING_SYMBOL, // charset
|
||||
RTL_TEXTENCODING_ADOBE_DINGBATS, // charset
|
||||
PITCH_VARIABLE, // pitch
|
||||
WIDTH_NORMAL, // width type
|
||||
WEIGHT_NORMAL, // weight type
|
||||
|
@ -246,9 +246,12 @@ void PDFWriter::DrawBitmapEx( const Point& rDestPt, const Size& rDestSize, const
|
||||
|
||||
void PDFWriter::DrawBitmapEx( const Point& rDestPt, const Size& rDestSize, const Point& rSrcPtPixel, const Size& rSrcSizePixel, const BitmapEx& rBitmap )
|
||||
{
|
||||
if ( !!rBitmap )
|
||||
{
|
||||
BitmapEx aBitmap( rBitmap );
|
||||
aBitmap.Crop( Rectangle( rSrcPtPixel, rSrcSizePixel ) );
|
||||
((PDFWriterImpl*)pImplementation)->drawBitmap( rDestPt, rDestSize, aBitmap );
|
||||
}
|
||||
}
|
||||
|
||||
void PDFWriter::DrawMask( const Point& rDestPt, const Bitmap& rBitmap, const Color& rMaskColor )
|
||||
|
@ -6,9 +6,6 @@
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile: pdfwriter_impl.cxx,v $
|
||||
* $Revision: 1.132.72.2 $
|
||||
*
|
||||
* This file is part of OpenOffice.org.
|
||||
*
|
||||
* OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
@ -1930,7 +1927,7 @@ static ImplDevFontAttributes GetDevFontAttributes( const PDFWriterImpl::BuiltinF
|
||||
aDFA.maName = String::CreateFromAscii( rBuiltin.m_pName );
|
||||
aDFA.maStyleName = String::CreateFromAscii( rBuiltin.m_pStyleName );
|
||||
aDFA.meFamily = rBuiltin.m_eFamily;
|
||||
aDFA.mbSymbolFlag = (rBuiltin.m_eCharSet == RTL_TEXTENCODING_SYMBOL);
|
||||
aDFA.mbSymbolFlag = (rBuiltin.m_eCharSet != RTL_TEXTENCODING_MS_1252 );
|
||||
aDFA.mePitch = rBuiltin.m_ePitch;
|
||||
aDFA.meWeight = rBuiltin.m_eWeight;
|
||||
aDFA.meItalic = rBuiltin.m_eItalic;
|
||||
@ -2033,7 +2030,7 @@ PDFSalLayout::PDFSalLayout( PDFWriterImpl& rPDFWriterImpl,
|
||||
mrBuiltinFont( rBuiltinFont ),
|
||||
mnPixelPerEM( nPixelPerEM )
|
||||
{
|
||||
mbIsSymbolFont = (rBuiltinFont.m_eCharSet == RTL_TEXTENCODING_SYMBOL);
|
||||
mbIsSymbolFont = (rBuiltinFont.m_eCharSet != RTL_TEXTENCODING_MS_1252);
|
||||
SetOrientation( nOrientation );
|
||||
}
|
||||
|
||||
@ -2045,41 +2042,35 @@ bool PDFSalLayout::LayoutText( ImplLayoutArgs& rArgs )
|
||||
SetText( aText );
|
||||
SetUnitsPerPixel( 1000 );
|
||||
|
||||
rtl_UnicodeToTextConverter aConv = rtl_createTextToUnicodeConverter( RTL_TEXTENCODING_MS_1252 );
|
||||
rtl_UnicodeToTextConverter aConv = rtl_createTextToUnicodeConverter( mrBuiltinFont.m_eCharSet );
|
||||
|
||||
Point aNewPos( 0, 0 );
|
||||
bool bRightToLeft;
|
||||
for( int nCharPos = -1; rArgs.GetNextPos( &nCharPos, &bRightToLeft ); )
|
||||
{
|
||||
// TODO: handle unicode surrogates
|
||||
// on the other hand builtin fonts don't support them anyway
|
||||
// on the other hand the PDF builtin fonts don't support them anyway
|
||||
sal_Unicode cChar = rArgs.mpStr[ nCharPos ];
|
||||
if( bRightToLeft )
|
||||
cChar = static_cast<sal_Unicode>(GetMirroredChar( cChar ));
|
||||
|
||||
if( cChar & 0xff00 )
|
||||
if( 1 ) // TODO: shortcut for ASCII?
|
||||
{
|
||||
// some characters can be used by conversion
|
||||
if( (cChar >= 0xf000) && mbIsSymbolFont )
|
||||
cChar -= 0xf000;
|
||||
else
|
||||
{
|
||||
sal_Char aBuf[4];
|
||||
sal_uInt32 nInfo;
|
||||
sal_Size nSrcCvtChars;
|
||||
sal_Char aBuf[4];
|
||||
sal_uInt32 nInfo;
|
||||
sal_Size nSrcCvtChars;
|
||||
|
||||
sal_Size nConv = rtl_convertUnicodeToText( aConv,
|
||||
NULL,
|
||||
&cChar, 1,
|
||||
aBuf, 1,
|
||||
RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR,
|
||||
&nInfo, &nSrcCvtChars );
|
||||
// check whether conversion was possible
|
||||
// else fallback font is needed as the standard fonts
|
||||
// are handled via WinAnsi encoding
|
||||
if( nConv > 0 )
|
||||
cChar = ((sal_Unicode)aBuf[0]) & 0x00ff;
|
||||
}
|
||||
sal_Size nConv = rtl_convertUnicodeToText( aConv,
|
||||
NULL,
|
||||
&cChar, 1,
|
||||
aBuf, sizeof(aBuf)/sizeof(*aBuf),
|
||||
RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR,
|
||||
&nInfo, &nSrcCvtChars );
|
||||
// check whether conversion was possible
|
||||
// else fallback font is needed as the standard fonts
|
||||
// are handled via WinAnsi encoding
|
||||
if( nConv > 0 )
|
||||
cChar = ((sal_Unicode)aBuf[0]) & 0x00ff;
|
||||
}
|
||||
if( cChar & 0xff00 )
|
||||
{
|
||||
@ -2088,7 +2079,7 @@ bool PDFSalLayout::LayoutText( ImplLayoutArgs& rArgs )
|
||||
}
|
||||
|
||||
long nGlyphWidth = (long)mrBuiltinFont.m_aWidths[cChar] * mnPixelPerEM;
|
||||
long nGlyphFlags = (nGlyphWidth > 0) ? 0 : GlyphItem::IS_IN_CLUSTER;
|
||||
long nGlyphFlags = 0; // builtin fonts don't have diacritic glyphs
|
||||
if( bRightToLeft )
|
||||
nGlyphFlags |= GlyphItem::IS_RTL_GLYPH;
|
||||
// TODO: get kerning from builtin fonts
|
||||
@ -2782,7 +2773,7 @@ sal_Int32 PDFWriterImpl::emitBuiltinFont( const ImplFontData* pFont, sal_Int32 n
|
||||
"<</Type/Font/Subtype/Type1/BaseFont/" );
|
||||
appendName( pBuiltinFont->m_pPSName, aLine );
|
||||
aLine.append( "\n" );
|
||||
if( pBuiltinFont->m_eCharSet != RTL_TEXTENCODING_SYMBOL )
|
||||
if( pBuiltinFont->m_eCharSet == RTL_TEXTENCODING_MS_1252 )
|
||||
aLine.append( "/Encoding/WinAnsiEncoding\n" );
|
||||
aLine.append( ">>\nendobj\n\n" );
|
||||
CHECK_RETURN( writeBuffer( aLine.getStr(), aLine.getLength() ) );
|
||||
|
@ -5056,11 +5056,11 @@ MenuBarWindow::MenuBarWindow( Window* pParent ) :
|
||||
|
||||
if( pResMgr )
|
||||
{
|
||||
Bitmap aBitmap( ResId( SV_RESID_BITMAP_CLOSEDOC, *pResMgr ) );
|
||||
Bitmap aBitmapHC( ResId( SV_RESID_BITMAP_CLOSEDOCHC, *pResMgr ) );
|
||||
BitmapEx aBitmap( ResId( SV_RESID_BITMAP_CLOSEDOC, *pResMgr ) );
|
||||
BitmapEx aBitmapHC( ResId( SV_RESID_BITMAP_CLOSEDOCHC, *pResMgr ) );
|
||||
|
||||
aCloser.maImage = Image( aBitmap, Color( COL_LIGHTMAGENTA ) );
|
||||
aCloser.maImageHC = Image( aBitmapHC, Color( COL_LIGHTMAGENTA ) );
|
||||
aCloser.maImage = Image( aBitmap );
|
||||
aCloser.maImageHC = Image( aBitmapHC );
|
||||
|
||||
aCloser.SetOutStyle( TOOLBOX_STYLE_FLAT );
|
||||
aCloser.SetBackground();
|
||||
|
@ -126,6 +126,12 @@ void signalScreenSizeChanged( GdkScreen* pScreen, gpointer data )
|
||||
pDisp->screenSizeChanged( pScreen );
|
||||
}
|
||||
|
||||
void signalMonitorsChanged( GdkScreen* pScreen, gpointer data )
|
||||
{
|
||||
GtkSalDisplay* pDisp = (GtkSalDisplay*)data;
|
||||
pDisp->monitorsChanged( pScreen );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
GdkFilterReturn GtkSalDisplay::filterGdkEvent( GdkXEvent* sys_event,
|
||||
@ -192,6 +198,8 @@ void GtkSalDisplay::screenSizeChanged( GdkScreen* pScreen )
|
||||
{
|
||||
rSD.m_aSize = Size( gdk_screen_get_width( pScreen ),
|
||||
gdk_screen_get_height( pScreen ) );
|
||||
if( ! m_aFrames.empty() )
|
||||
m_aFrames.front()->CallCallback( SALEVENT_DISPLAYCHANGED, 0 );
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -201,6 +209,36 @@ void GtkSalDisplay::screenSizeChanged( GdkScreen* pScreen )
|
||||
}
|
||||
}
|
||||
|
||||
void GtkSalDisplay::monitorsChanged( GdkScreen* pScreen )
|
||||
{
|
||||
if( pScreen )
|
||||
{
|
||||
if( gdk_display_get_n_screens(m_pGdkDisplay) == 1 )
|
||||
{
|
||||
int nScreen = gdk_screen_get_number( pScreen );
|
||||
if( nScreen == m_nDefaultScreen ) //To-Do, make m_aXineramaScreens a per-screen thing ?
|
||||
{
|
||||
gint nMonitors = gdk_screen_get_n_monitors(pScreen);
|
||||
m_aXineramaScreens = std::vector<Rectangle>();
|
||||
for (gint i = 0; i < nMonitors; ++i)
|
||||
{
|
||||
GdkRectangle dest;
|
||||
gdk_screen_get_monitor_geometry(pScreen, i, &dest);
|
||||
m_aXineramaScreens.push_back( Rectangle( Point(dest.x,
|
||||
dest.y ), Size( dest.width, dest.height ) ) );
|
||||
}
|
||||
m_bXinerama = m_aXineramaScreens.size() > 1;
|
||||
if( ! m_aFrames.empty() )
|
||||
m_aFrames.front()->CallCallback( SALEVENT_DISPLAYCHANGED, 0 );
|
||||
}
|
||||
else
|
||||
{
|
||||
DBG_ERROR( "monitors for non-default screen changed, extend-me" );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GtkSalDisplay::initScreen( int nScreen ) const
|
||||
{
|
||||
if( nScreen < 0 || nScreen >= static_cast<int>(m_aScreens.size()) )
|
||||
@ -626,7 +664,10 @@ void GtkXLib::Init()
|
||||
{
|
||||
GdkScreen *pScreen = gdk_display_get_screen( pGdkDisp, n );
|
||||
if( pScreen )
|
||||
{
|
||||
g_signal_connect( G_OBJECT(pScreen), "size-changed", G_CALLBACK(signalScreenSizeChanged), m_pGtkSalDisplay );
|
||||
g_signal_connect( G_OBJECT(pScreen), "monitors-changed", G_CALLBACK(signalMonitorsChanged), m_pGtkSalDisplay );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -114,10 +114,9 @@ extern "C"
|
||||
static bool hookLocks( oslModule pModule )
|
||||
{
|
||||
typedef void (*GdkLockFn) (GCallback enter_fn, GCallback leave_fn);
|
||||
rtl::OUString aSymbolName( RTL_CONSTASCII_USTRINGPARAM( "gdk_threads_set_lock_functions") );
|
||||
|
||||
GdkLockFn gdk_threads_set_lock_functions =
|
||||
(GdkLockFn) osl_getFunctionSymbol( pModule, aSymbolName.pData );
|
||||
(GdkLockFn) osl_getAsciiFunctionSymbol( pModule, "gdk_threads_set_lock_functions" );
|
||||
if ( !gdk_threads_set_lock_functions )
|
||||
{
|
||||
#if OSL_DEBUG_LEVEL > 1
|
||||
|
@ -3435,10 +3435,12 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings )
|
||||
// FIXME: need some way of fetching toolbar icon size.
|
||||
// aStyleSet.SetToolbarIconSize( STYLE_TOOLBAR_ICONSIZE_SMALL );
|
||||
|
||||
/* #i35482# do not override HC mode per force
|
||||
// #i59364# high contrast mode
|
||||
bool bHC = ( aStyleSet.GetFaceColor().IsDark() ||
|
||||
aStyleSet.GetWindowColor().IsDark() );
|
||||
aStyleSet.SetHighContrastMode( bHC );
|
||||
*/
|
||||
|
||||
// finally update the collected settings
|
||||
rSettings.SetStyleSettings( aStyleSet );
|
||||
|
@ -417,6 +417,14 @@ GtkSalFrame::GtkSalFrame( SystemParentData* pSysData )
|
||||
|
||||
GtkSalFrame::~GtkSalFrame()
|
||||
{
|
||||
for( unsigned int i = 0; i < sizeof(m_aGraphics)/sizeof(m_aGraphics[0]); ++i )
|
||||
{
|
||||
if( !m_aGraphics[i].pGraphics )
|
||||
continue;
|
||||
m_aGraphics[i].pGraphics->SetDrawable( None, m_nScreen );
|
||||
m_aGraphics[i].bInUse = false;
|
||||
}
|
||||
|
||||
if( m_pParent )
|
||||
m_pParent->m_aChildren.remove( this );
|
||||
|
||||
|
@ -195,7 +195,7 @@ static bool passFileToCommandLine( const String& rFilename, const String& rComma
|
||||
struct stat aStat;
|
||||
if( stat( aFilename.GetBuffer(), &aStat ) )
|
||||
fprintf( stderr, "stat( %s ) failed\n", aFilename.GetBuffer() );
|
||||
fprintf( stderr, "Tmp file %s has modes: %o\n", aFilename.GetBuffer(), aStat.st_mode );
|
||||
fprintf( stderr, "Tmp file %s has modes: 0%03lo\n", aFilename.GetBuffer(), (long)aStat.st_mode );
|
||||
#endif
|
||||
const char* argv[4];
|
||||
if( ! ( argv[ 0 ] = getenv( "SHELL" ) ) )
|
||||
|
@ -85,6 +85,7 @@ public:
|
||||
void startupNotificationCompleted() { m_bStartupCompleted = true; }
|
||||
|
||||
void screenSizeChanged( GdkScreen* );
|
||||
void monitorsChanged( GdkScreen* );
|
||||
};
|
||||
|
||||
|
||||
|
@ -87,7 +87,8 @@ protected:
|
||||
SalColormap *m_pDeleteColormap;
|
||||
Drawable hDrawable_; // use
|
||||
int m_nScreen;
|
||||
void* pRenderFormat_;
|
||||
void* m_pRenderFormat;
|
||||
XID m_aRenderPicture;
|
||||
CairoFontsCache m_aCairoFontsCache;
|
||||
|
||||
XLIB_Region pPaintRegion_;
|
||||
@ -215,14 +216,14 @@ public:
|
||||
inline const SalVisual& GetVisual() const;
|
||||
inline Drawable GetDrawable() const { return hDrawable_; }
|
||||
void SetDrawable( Drawable d, int nScreen );
|
||||
inline void* GetXRenderFormat() { return pRenderFormat_; }
|
||||
inline void SetXRenderFormat( void* pRenderFormat ) { pRenderFormat_ = pRenderFormat; }
|
||||
XID GetXRenderPicture();
|
||||
void* GetXRenderFormat() const { return m_pRenderFormat; }
|
||||
inline void SetXRenderFormat( void* pRenderFormat ) { m_pRenderFormat = pRenderFormat; }
|
||||
inline const SalColormap& GetColormap() const { return *m_pColormap; }
|
||||
using SalGraphics::GetPixel;
|
||||
inline Pixel GetPixel( SalColor nSalColor ) const;
|
||||
|
||||
int GetScreenNumber() const
|
||||
{ return m_nScreen; }
|
||||
int GetScreenNumber() const { return m_nScreen; }
|
||||
|
||||
// overload all pure virtual methods
|
||||
virtual void GetResolution( sal_Int32& rDPIX, sal_Int32& rDPIY );
|
||||
@ -248,7 +249,7 @@ public:
|
||||
virtual void SetROPFillColor( SalROPColor nROPColor );
|
||||
|
||||
virtual void SetTextColor( SalColor nSalColor );
|
||||
virtual USHORT SetFont( ImplFontSelectData*, int nFallbackLevel );
|
||||
virtual USHORT SetFont( ImplFontSelectData*, int nFallbackLevel );
|
||||
virtual void GetFontMetric( ImplFontMetricData* );
|
||||
virtual ULONG GetKernPairs( ULONG nPairs, ImplKernPairData* pKernPairs );
|
||||
virtual ImplFontCharMap* GetImplFontCharMap() const;
|
||||
|
@ -248,7 +248,7 @@ extern "C" {
|
||||
if( nMajor != 3 || nMinor < 2 || (nMinor == 2 && nMicro < 2) )
|
||||
{
|
||||
#if OSL_DEBUG_LEVEL > 1
|
||||
fprintf( stderr, "unsuitable qt version %d.%d.%d\n", nMajor, nMinor, nMicro );
|
||||
fprintf( stderr, "unsuitable qt version %d.%d.%d\n", (int)nMajor, (int)nMinor, (int)nMicro );
|
||||
#endif
|
||||
return NULL;
|
||||
}
|
||||
|
@ -2035,10 +2035,12 @@ void KDESalFrame::UpdateSettings( AllSettings& rSettings )
|
||||
// Scroll bar size
|
||||
aStyleSettings.SetScrollBarSize( kapp->style().pixelMetric( QStyle::PM_ScrollBarExtent ) );
|
||||
|
||||
/* #i35482# do not override HC mode
|
||||
// #i59364# high contrast mode
|
||||
bool bHC = ( aStyleSettings.GetFaceColor().IsDark() ||
|
||||
aStyleSettings.GetWindowColor().IsDark() );
|
||||
aStyleSettings.SetHighContrastMode( bHC );
|
||||
*/
|
||||
|
||||
rSettings.SetStyleSettings( aStyleSettings );
|
||||
}
|
||||
|
@ -831,24 +831,28 @@ void SalDisplay::Init()
|
||||
int nDisplayScreens = ScreenCount( pDisp_ );
|
||||
m_aScreens = std::vector<ScreenData>(nDisplayScreens);
|
||||
|
||||
const char *value;
|
||||
mbExactResolution = false;
|
||||
/* #i15507#
|
||||
* Xft resolution should take precedence since
|
||||
* it is what modern desktops use.
|
||||
*/
|
||||
if ((value = XGetDefault (pDisp_, "Xft", "dpi")))
|
||||
const char* pValStr = XGetDefault( pDisp_, "Xft", "dpi" );
|
||||
if( pValStr != NULL )
|
||||
{
|
||||
rtl::OString str (value);
|
||||
long dpi = (long) str.toDouble();
|
||||
aResolution_ = Pair( dpi, dpi );
|
||||
mbExactResolution = true;
|
||||
const rtl::OString aValStr( pValStr );
|
||||
const long nDPI = (long) aValStr.toDouble();
|
||||
// guard against insane resolution
|
||||
if( (nDPI >= 50) && (nDPI <= 500) )
|
||||
{
|
||||
aResolution_ = Pair( nDPI, nDPI );
|
||||
mbExactResolution = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
if( mbExactResolution == false )
|
||||
{
|
||||
aResolution_ =
|
||||
Pair( DPI( WidthOfScreen( DefaultScreenOfDisplay( pDisp_ ) ), DisplayWidthMM ( pDisp_, m_nDefaultScreen ) ),
|
||||
DPI( HeightOfScreen( DefaultScreenOfDisplay( pDisp_ ) ), DisplayHeightMM( pDisp_, m_nDefaultScreen ) ) );
|
||||
mbExactResolution = false;
|
||||
}
|
||||
|
||||
nMaxRequestSize_ = XExtendedMaxRequestSize( pDisp_ ) * 4;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -796,21 +796,15 @@ bool X11SalGraphics::drawAlphaBitmap( const SalTwoRect& rTR,
|
||||
if( rPeer.GetVersion() < 0x02 )
|
||||
return false;
|
||||
|
||||
// create destination picture
|
||||
Picture aDstPic = GetXRenderPicture();
|
||||
if( !aDstPic )
|
||||
return false;
|
||||
|
||||
const SalDisplay* pSalDisp = GetDisplay();
|
||||
const SalVisual& rSalVis = pSalDisp->GetVisual( m_nScreen );
|
||||
Display* pXDisplay = pSalDisp->GetDisplay();
|
||||
|
||||
// create destination picture
|
||||
// TODO: scoped Pixmap and Pictures
|
||||
Visual* pDstXVisual = rSalVis.GetVisual();
|
||||
XRenderPictFormat* pDstVisFmt = rPeer.FindVisualFormat( pDstXVisual );
|
||||
if( !pDstVisFmt )
|
||||
return false;
|
||||
|
||||
Picture aDstPic = rPeer.CreatePicture( hDrawable_, pDstVisFmt, 0, NULL );
|
||||
if( !aDstPic )
|
||||
return false;
|
||||
|
||||
// create source Picture
|
||||
int nDepth = m_pVDev ? m_pVDev->GetDepth() : rSalVis.GetDepth();
|
||||
const X11SalBitmap& rSrcX11Bmp = static_cast<const X11SalBitmap&>( rSrcBitmap );
|
||||
@ -829,7 +823,12 @@ bool X11SalGraphics::drawAlphaBitmap( const SalTwoRect& rTR,
|
||||
if( !aSrcPM )
|
||||
return false;
|
||||
|
||||
XRenderPictFormat* pSrcVisFmt = pDstVisFmt;
|
||||
// create source picture
|
||||
// TODO: use scoped picture
|
||||
Visual* pSrcXVisual = rSalVis.GetVisual();
|
||||
XRenderPictFormat* pSrcVisFmt = rPeer.FindVisualFormat( pSrcXVisual );
|
||||
if( !pSrcVisFmt )
|
||||
return false;
|
||||
Picture aSrcPic = rPeer.CreatePicture( aSrcPM, pSrcVisFmt, 0, NULL );
|
||||
if( !aSrcPic )
|
||||
return false;
|
||||
@ -843,16 +842,16 @@ bool X11SalGraphics::drawAlphaBitmap( const SalTwoRect& rTR,
|
||||
// an XImage needs its data top_down
|
||||
// TODO: avoid wrongly oriented images in upper layers!
|
||||
const int nImageSize = pAlphaBuffer->mnHeight * pAlphaBuffer->mnScanlineSize;
|
||||
const char* pSrc = (char*)pAlphaBuffer->mpBits;
|
||||
const char* pSrcBits = (char*)pAlphaBuffer->mpBits;
|
||||
char* pAlphaBits = new char[ nImageSize ];
|
||||
if( BMP_SCANLINE_ADJUSTMENT( pAlphaBuffer->mnFormat ) == BMP_FORMAT_TOP_DOWN )
|
||||
memcpy( pAlphaBits, pSrc, nImageSize );
|
||||
memcpy( pAlphaBits, pSrcBits, nImageSize );
|
||||
else
|
||||
{
|
||||
char* pDst = pAlphaBits + nImageSize;
|
||||
char* pDstBits = pAlphaBits + nImageSize;
|
||||
const int nLineSize = pAlphaBuffer->mnScanlineSize;
|
||||
for(; (pDst -= nLineSize) >= pAlphaBits; pSrc += nLineSize )
|
||||
memcpy( pDst, pSrc, nLineSize );
|
||||
for(; (pDstBits -= nLineSize) >= pAlphaBits; pSrcBits += nLineSize )
|
||||
memcpy( pDstBits, pSrcBits, nLineSize );
|
||||
}
|
||||
|
||||
// the alpha values need to be inverted for XRender
|
||||
@ -866,7 +865,7 @@ bool X11SalGraphics::drawAlphaBitmap( const SalTwoRect& rTR,
|
||||
*pCDst = ~*pCDst;
|
||||
|
||||
const XRenderPictFormat* pAlphaFormat = rPeer.GetStandardFormatA8();
|
||||
XImage* pAlphaImg = XCreateImage( pXDisplay, pDstXVisual, 8, ZPixmap, 0,
|
||||
XImage* pAlphaImg = XCreateImage( pXDisplay, pSrcXVisual, 8, ZPixmap, 0,
|
||||
pAlphaBits, pAlphaBuffer->mnWidth, pAlphaBuffer->mnHeight,
|
||||
pAlphaFormat->depth, pAlphaBuffer->mnScanlineSize );
|
||||
|
||||
@ -904,7 +903,6 @@ bool X11SalGraphics::drawAlphaBitmap( const SalTwoRect& rTR,
|
||||
rPeer.FreePicture( aAlphaPic );
|
||||
XFreePixmap(pXDisplay, aAlphaPM);
|
||||
rPeer.FreePicture( aSrcPic );
|
||||
rPeer.FreePicture( aDstPic );
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -922,20 +920,10 @@ bool X11SalGraphics::drawAlphaRect( long nX, long nY, long nWidth,
|
||||
return false;
|
||||
|
||||
XRenderPeer& rPeer = XRenderPeer::GetInstance();
|
||||
if( rPeer.GetVersion() < 0x02 )
|
||||
if( rPeer.GetVersion() < 0x02 ) // TODO: replace with better test
|
||||
return false;
|
||||
|
||||
const SalDisplay* pSalDisp = GetDisplay();
|
||||
const SalVisual& rSalVis = pSalDisp->GetVisual( m_nScreen );
|
||||
|
||||
// create destination picture
|
||||
// TODO: scoped Pixmap and Pictures
|
||||
Visual* pDstXVisual = rSalVis.GetVisual();
|
||||
XRenderPictFormat* pDstVisFmt = rPeer.FindVisualFormat( pDstXVisual );
|
||||
if( !pDstVisFmt )
|
||||
return false;
|
||||
|
||||
Picture aDstPic = rPeer.CreatePicture( hDrawable_, pDstVisFmt, 0, NULL );
|
||||
Picture aDstPic = GetXRenderPicture();
|
||||
if( !aDstPic )
|
||||
return false;
|
||||
|
||||
@ -948,9 +936,6 @@ bool X11SalGraphics::drawAlphaRect( long nX, long nY, long nWidth,
|
||||
nX, nY,
|
||||
nWidth, nHeight );
|
||||
|
||||
// cleanup
|
||||
rPeer.FreePicture( aDstPic );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1023,29 +1023,22 @@ void X11SalGraphics::DrawCairoAAFontString( const ServerFontLayout& rLayout )
|
||||
|
||||
void X11SalGraphics::DrawServerAAFontString( const ServerFontLayout& rLayout )
|
||||
{
|
||||
Display* pDisplay = GetXDisplay();
|
||||
XRenderPeer& rRenderPeer = XRenderPeer::GetInstance();
|
||||
|
||||
// find a XRenderPictFormat compatible with the Drawable
|
||||
XRenderPictFormat* pVisualFormat = static_cast<XRenderPictFormat*>(GetXRenderFormat());
|
||||
if( !pVisualFormat )
|
||||
{
|
||||
Visual* pVisual = GetDisplay()->GetVisual( m_nScreen ).GetVisual();
|
||||
pVisualFormat = rRenderPeer.FindVisualFormat( pVisual );
|
||||
// cache the XRenderPictFormat
|
||||
SetXRenderFormat( static_cast<void*>(pVisualFormat) );
|
||||
}
|
||||
|
||||
DBG_ASSERT( pVisualFormat!=NULL, "no matching XRenderPictFormat for text" );
|
||||
if( !pVisualFormat )
|
||||
// get xrender target for this drawable
|
||||
Picture aDstPic = GetXRenderPicture();
|
||||
if( !aDstPic )
|
||||
return;
|
||||
|
||||
// get a XRenderPicture for the font foreground
|
||||
// TODO: move into own method
|
||||
XRenderPeer& rRenderPeer = XRenderPeer::GetInstance();
|
||||
XRenderPictFormat* pVisualFormat = (XRenderPictFormat*)GetXRenderFormat();
|
||||
DBG_ASSERT( pVisualFormat, "we already have a render picture, but XRenderPictFormat==NULL???");
|
||||
const int nVisualDepth = pVisualFormat->depth;
|
||||
SalDisplay::RenderEntry& rEntry = GetDisplay()->GetRenderEntries( m_nScreen )[ nVisualDepth ];
|
||||
if( !rEntry.m_aPicture )
|
||||
{
|
||||
// create and cache XRenderPicture for the font foreground
|
||||
Display* pDisplay = GetXDisplay();
|
||||
#ifdef DEBUG
|
||||
int iDummy;
|
||||
unsigned uDummy;
|
||||
@ -1067,12 +1060,10 @@ void X11SalGraphics::DrawServerAAFontString( const ServerFontLayout& rLayout )
|
||||
XRenderColor aRenderColor = GetXRenderColor( nTextPixel_ );
|
||||
rRenderPeer.FillRectangle( PictOpSrc, rEntry.m_aPicture, &aRenderColor, 0, 0, 1, 1 );
|
||||
|
||||
// notify xrender of target drawable
|
||||
Picture aDst = rRenderPeer.CreatePicture( hDrawable_, pVisualFormat, 0, NULL );
|
||||
|
||||
// set clipping
|
||||
// TODO: move into GetXRenderPicture()?
|
||||
if( pClipRegion_ && !XEmptyRegion( pClipRegion_ ) )
|
||||
rRenderPeer.SetPictureClipRegion( aDst, pClipRegion_ );
|
||||
rRenderPeer.SetPictureClipRegion( aDstPic, pClipRegion_ );
|
||||
|
||||
ServerFont& rFont = rLayout.GetServerFont();
|
||||
X11GlyphPeer& rGlyphPeer = X11GlyphCache::GetInstance().GetPeer();
|
||||
@ -1096,12 +1087,9 @@ void X11SalGraphics::DrawServerAAFontString( const ServerFontLayout& rLayout )
|
||||
unsigned int aRenderAry[ MAXGLYPHS ];
|
||||
for( int i = 0; i < nGlyphs; ++i )
|
||||
aRenderAry[ i ] = rGlyphPeer.GetGlyphId( rFont, aGlyphAry[i] );
|
||||
rRenderPeer.CompositeString32( rEntry.m_aPicture, aDst,
|
||||
rRenderPeer.CompositeString32( rEntry.m_aPicture, aDstPic,
|
||||
aGlyphSet, aPos.X(), aPos.Y(), aRenderAry, nGlyphs );
|
||||
}
|
||||
|
||||
// cleanup
|
||||
rRenderPeer.FreePicture( aDst );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
|
@ -248,7 +248,7 @@ static bool passFileToCommandLine( const String& rFilename, const String& rComma
|
||||
struct stat aStat;
|
||||
if( stat( aFilename.GetBuffer(), &aStat ) )
|
||||
fprintf( stderr, "stat( %s ) failed\n", aFilename.GetBuffer() );
|
||||
fprintf( stderr, "Tmp file %s has modes: %o\n", aFilename.GetBuffer(), aStat.st_mode );
|
||||
fprintf( stderr, "Tmp file %s has modes: 0%03lo\n", aFilename.GetBuffer(), (long)aStat.st_mode );
|
||||
#endif
|
||||
const char* argv[4];
|
||||
if( ! ( argv[ 0 ] = getenv( "SHELL" ) ) )
|
||||
|
@ -121,16 +121,14 @@ void X11SalGraphics::Init( X11SalVirtualDevice *pDevice, SalColormap* pColormap,
|
||||
if (m_pDeleteColormap != pOrigDeleteColormap)
|
||||
delete pOrigDeleteColormap;
|
||||
|
||||
hDrawable_ = pDevice->GetDrawable();
|
||||
const Drawable aVdevDrawable = pDevice->GetDrawable();
|
||||
SetDrawable( aVdevDrawable, m_nScreen );
|
||||
|
||||
m_pVDev = pDevice;
|
||||
m_pFrame = NULL;
|
||||
|
||||
bWindow_ = pDisplay->IsDisplay();
|
||||
bVirDev_ = TRUE;
|
||||
|
||||
nPenPixel_ = GetPixel( nPenColor_ );
|
||||
nTextPixel_ = GetPixel( nTextColor_ );
|
||||
nBrushPixel_ = GetPixel( nBrushColor_ );
|
||||
}
|
||||
|
||||
// -=-= SalVirDevData / SalVirtualDevice -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||||
@ -274,3 +272,4 @@ void X11SalVirtualDevice::GetSize( long& rWidth, long& rHeight )
|
||||
rWidth = GetWidth();
|
||||
rHeight = GetHeight();
|
||||
}
|
||||
|
||||
|
@ -82,7 +82,7 @@ void XRenderPeer::InitRenderLib()
|
||||
// we don't know if we are running on a system with xrender library
|
||||
// we don't want to install system libraries ourselves
|
||||
// => load them dynamically when they are there
|
||||
OUString aLibName( RTL_CONSTASCII_USTRINGPARAM( "libXrender.so.1" ));
|
||||
const OUString aLibName( RTL_CONSTASCII_USTRINGPARAM( "libXrender.so.1" ));
|
||||
mpRenderLib = osl_loadModule( aLibName.pData, SAL_LOADMODULE_DEFAULT );
|
||||
if( !mpRenderLib ) {
|
||||
#ifdef DEBUG
|
||||
@ -93,98 +93,81 @@ void XRenderPeer::InitRenderLib()
|
||||
return;
|
||||
}
|
||||
|
||||
OUString aQueryExtensionFuncName(RTL_CONSTASCII_USTRINGPARAM("XRenderQueryExtension"));
|
||||
oslGenericFunction pFunc;
|
||||
pFunc = osl_getFunctionSymbol( mpRenderLib, aQueryExtensionFuncName.pData);
|
||||
pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderQueryExtension" );
|
||||
if( !pFunc ) return;
|
||||
mpXRenderQueryExtension = (Bool(*)(Display*,int*,int*))pFunc;
|
||||
|
||||
OUString aQueryVersionFuncName(RTL_CONSTASCII_USTRINGPARAM("XRenderQueryVersion"));
|
||||
pFunc = osl_getFunctionSymbol( mpRenderLib, aQueryVersionFuncName.pData);
|
||||
pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderQueryVersion" );
|
||||
if( !pFunc ) return;
|
||||
mpXRenderQueryVersion = (void(*)(Display*,int*,int*))pFunc;
|
||||
|
||||
OUString aVisFormatFuncName(RTL_CONSTASCII_USTRINGPARAM("XRenderFindVisualFormat"));
|
||||
pFunc = osl_getFunctionSymbol( mpRenderLib, aVisFormatFuncName.pData);
|
||||
pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderFindVisualFormat" );
|
||||
if( !pFunc ) return;
|
||||
mpXRenderFindVisualFormat = (XRenderPictFormat*(*)(Display*,Visual*))pFunc;
|
||||
|
||||
OUString aStdFormatFuncName(RTL_CONSTASCII_USTRINGPARAM("XRenderFindStandardFormat"));
|
||||
pFunc = osl_getFunctionSymbol( mpRenderLib, aStdFormatFuncName.pData);
|
||||
pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderFindStandardFormat" );
|
||||
if( !pFunc ) return;
|
||||
mpXRenderFindStandardFormat = (XRenderPictFormat*(*)(Display*,int))pFunc;
|
||||
|
||||
OUString aFmtFuncName(RTL_CONSTASCII_USTRINGPARAM("XRenderFindFormat"));
|
||||
pFunc = osl_getFunctionSymbol( mpRenderLib, aFmtFuncName.pData);
|
||||
pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderFindFormat" );
|
||||
if( !pFunc ) return;
|
||||
mpXRenderFindFormat = (XRenderPictFormat*(*)(Display*,unsigned long,
|
||||
const XRenderPictFormat*,int))pFunc;
|
||||
|
||||
OUString aCreatGlyphFuncName(RTL_CONSTASCII_USTRINGPARAM("XRenderCreateGlyphSet"));
|
||||
pFunc = osl_getFunctionSymbol( mpRenderLib, aCreatGlyphFuncName.pData);
|
||||
pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderCreateGlyphSet" );
|
||||
if( !pFunc ) return;
|
||||
mpXRenderCreateGlyphSet = (GlyphSet(*)(Display*,const XRenderPictFormat*))pFunc;
|
||||
|
||||
OUString aFreeGlyphFuncName(RTL_CONSTASCII_USTRINGPARAM("XRenderFreeGlyphSet"));
|
||||
pFunc = osl_getFunctionSymbol( mpRenderLib, aFreeGlyphFuncName.pData);
|
||||
pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderFreeGlyphSet" );
|
||||
if( !pFunc ) return;
|
||||
mpXRenderFreeGlyphSet = (void(*)(Display*,GlyphSet))pFunc;
|
||||
|
||||
OUString aAddGlyphFuncName(RTL_CONSTASCII_USTRINGPARAM("XRenderAddGlyphs"));
|
||||
pFunc = osl_getFunctionSymbol( mpRenderLib, aAddGlyphFuncName.pData);
|
||||
pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderAddGlyphs" );
|
||||
if( !pFunc ) return;
|
||||
mpXRenderAddGlyphs = (void(*)(Display*,GlyphSet,Glyph*,const XGlyphInfo*,
|
||||
int,const char*,int))pFunc;
|
||||
|
||||
OUString aFreeGlyphsFuncName(RTL_CONSTASCII_USTRINGPARAM("XRenderFreeGlyphs"));
|
||||
pFunc = osl_getFunctionSymbol( mpRenderLib, aFreeGlyphsFuncName.pData);
|
||||
pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderFreeGlyphs" );
|
||||
if( !pFunc ) return;
|
||||
mpXRenderFreeGlyphs = (void(*)(Display*,GlyphSet,Glyph*,int))pFunc;
|
||||
|
||||
OUString aCompStringFuncName(RTL_CONSTASCII_USTRINGPARAM("XRenderCompositeString32"));
|
||||
pFunc = osl_getFunctionSymbol( mpRenderLib, aCompStringFuncName.pData);
|
||||
pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderCompositeString32" );
|
||||
if( !pFunc ) return;
|
||||
mpXRenderCompositeString32 = (void(*)(Display*,int,Picture,Picture,
|
||||
const XRenderPictFormat*,GlyphSet,int,int,int,int,const unsigned*,int))pFunc;
|
||||
|
||||
OUString aCreatPicFuncName(RTL_CONSTASCII_USTRINGPARAM("XRenderCreatePicture"));
|
||||
pFunc = osl_getFunctionSymbol( mpRenderLib, aCreatPicFuncName.pData);
|
||||
pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderCreatePicture" );
|
||||
if( !pFunc ) return;
|
||||
mpXRenderCreatePicture = (Picture(*)(Display*,Drawable,const XRenderPictFormat*,
|
||||
unsigned long,const XRenderPictureAttributes*))pFunc;
|
||||
|
||||
OUString aSetClipFuncName(RTL_CONSTASCII_USTRINGPARAM("XRenderSetPictureClipRegion"));
|
||||
pFunc = osl_getFunctionSymbol( mpRenderLib, aSetClipFuncName.pData);
|
||||
pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderSetPictureClipRegion" );
|
||||
if( !pFunc ) return;
|
||||
mpXRenderSetPictureClipRegion = (void(*)(Display*,Picture,XLIB_Region))pFunc;
|
||||
|
||||
OUString aFreePicFuncName(RTL_CONSTASCII_USTRINGPARAM("XRenderFreePicture"));
|
||||
pFunc = osl_getFunctionSymbol( mpRenderLib, aFreePicFuncName.pData);
|
||||
pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderFreePicture" );
|
||||
if( !pFunc ) return;
|
||||
mpXRenderFreePicture = (void(*)(Display*,Picture))pFunc;
|
||||
|
||||
OUString aRenderCompositeFuncName(RTL_CONSTASCII_USTRINGPARAM("XRenderComposite"));
|
||||
pFunc = osl_getFunctionSymbol( mpRenderLib, aRenderCompositeFuncName.pData);
|
||||
pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderComposite" );
|
||||
if( !pFunc ) return;
|
||||
mpXRenderComposite = (void(*)(Display*,int,Picture,Picture,Picture,
|
||||
int,int,int,int,int,int,unsigned,unsigned))pFunc;
|
||||
|
||||
OUString aFillRectangleFuncName(RTL_CONSTASCII_USTRINGPARAM("XRenderFillRectangle"));
|
||||
pFunc=osl_getFunctionSymbol( mpRenderLib, aFillRectangleFuncName.pData);
|
||||
pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderFillRectangle" );
|
||||
if( !pFunc ) return;
|
||||
mpXRenderFillRectangle = (void(*)(Display*,int,Picture,const XRenderColor*,
|
||||
int,int,unsigned int,unsigned int))pFunc;
|
||||
|
||||
OUString aCompositeTrapsFuncName( RTL_CONSTASCII_USTRINGPARAM("XRenderCompositeTrapezoids"));
|
||||
pFunc=osl_getFunctionSymbol( mpRenderLib, aCompositeTrapsFuncName.pData);
|
||||
pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderCompositeTrapezoids" );
|
||||
#if 0 // not having trapezoid support is supported
|
||||
if( !pFunc ) return;
|
||||
#endif
|
||||
mpXRenderCompositeTrapezoids = (void(*)(Display*,int,Picture,Picture,
|
||||
const XRenderPictFormat*,int,int,const XTrapezoid*,int))pFunc;
|
||||
|
||||
OUString aAddTrapsFuncName( RTL_CONSTASCII_USTRINGPARAM("XRenderAddTraps"));
|
||||
pFunc=osl_getFunctionSymbol( mpRenderLib, aAddTrapsFuncName.pData);
|
||||
pFunc = osl_getAsciiFunctionSymbol( mpRenderLib, "XRenderAddTraps" );
|
||||
#if 0 // not having trapezoid support is supported
|
||||
if( !pFunc ) return;
|
||||
#endif
|
||||
|
@ -79,8 +79,7 @@ static SalInstance* tryInstance( const OUString& rModuleBase )
|
||||
SAL_LOADMODULE_DEFAULT );
|
||||
if( aMod )
|
||||
{
|
||||
OUString aSym( RTL_CONSTASCII_USTRINGPARAM( "create_SalInstance" ) );
|
||||
salFactoryProc aProc = (salFactoryProc)osl_getFunctionSymbol( aMod, aSym.pData );
|
||||
salFactoryProc aProc = (salFactoryProc)osl_getAsciiFunctionSymbol( aMod, "create_SalInstance" );
|
||||
if( aProc )
|
||||
{
|
||||
pInst = aProc( aMod );
|
||||
@ -113,7 +112,7 @@ static SalInstance* tryInstance( const OUString& rModuleBase )
|
||||
{
|
||||
#if OSL_DEBUG_LEVEL > 1
|
||||
std::fprintf( stderr, "could not load symbol %s from shared object %s\n",
|
||||
OUStringToOString( aSym, RTL_TEXTENCODING_ASCII_US ).getStr(),
|
||||
"create_SalInstance",
|
||||
OUStringToOString( aModule, RTL_TEXTENCODING_ASCII_US ).getStr() );
|
||||
#endif
|
||||
osl_unloadModule( aMod );
|
||||
|
@ -100,18 +100,12 @@ VisualStylesAPI::VisualStylesAPI()
|
||||
|
||||
if ( mhModule )
|
||||
{
|
||||
OUString queryFuncName( RTL_CONSTASCII_USTRINGPARAM( "OpenThemeData" ) );
|
||||
lpfnOpenThemeData = (OpenThemeData_Proc_T) osl_getSymbol( mhModule, queryFuncName.pData );
|
||||
queryFuncName = OUString( RTL_CONSTASCII_USTRINGPARAM( "CloseThemeData" ) );
|
||||
lpfnCloseThemeData = (CloseThemeData_Proc_T) osl_getSymbol( mhModule, queryFuncName.pData );
|
||||
queryFuncName = OUString( RTL_CONSTASCII_USTRINGPARAM( "GetThemeBackgroundContentRect" ) );
|
||||
lpfnGetThemeBackgroundContentRect = (GetThemeBackgroundContentRect_Proc_T) osl_getSymbol( mhModule, queryFuncName.pData );
|
||||
queryFuncName = OUString( RTL_CONSTASCII_USTRINGPARAM( "DrawThemeBackground" ) );
|
||||
lpfnDrawThemeBackground = (DrawThemeBackground_Proc_T) osl_getSymbol( mhModule, queryFuncName.pData );
|
||||
queryFuncName = OUString( RTL_CONSTASCII_USTRINGPARAM( "DrawThemeText" ) );
|
||||
lpfnDrawThemeText = (DrawThemeText_Proc_T) osl_getSymbol( mhModule, queryFuncName.pData );
|
||||
queryFuncName = OUString( RTL_CONSTASCII_USTRINGPARAM( "GetThemePartSize" ) );
|
||||
lpfnGetThemePartSize = (GetThemePartSize_Proc_T) osl_getSymbol( mhModule, queryFuncName.pData );
|
||||
lpfnOpenThemeData = (OpenThemeData_Proc_T)osl_getAsciiFunctionSymbol( mhModule, "OpenThemeData" );
|
||||
lpfnCloseThemeData = (CloseThemeData_Proc_T)osl_getAsciiFunctionSymbol( mhModule, "CloseThemeData" );
|
||||
lpfnGetThemeBackgroundContentRect = (GetThemeBackgroundContentRect_Proc_T)osl_getAsciiFunctionSymbol( mhModule, "GetThemeBackgroundContentRect" );
|
||||
lpfnDrawThemeBackground = (DrawThemeBackground_Proc_T)osl_getAsciiFunctionSymbol( mhModule, "DrawThemeBackground" );
|
||||
lpfnDrawThemeText = (DrawThemeText_Proc_T)osl_getAsciiFunctionSymbol( mhModule, "DrawThemeText" );
|
||||
lpfnGetThemePartSize = (GetThemePartSize_Proc_T)osl_getAsciiFunctionSymbol( mhModule, "GetThemePartSize" );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1172,62 +1172,52 @@ static bool InitUSP()
|
||||
if( !aUspModule )
|
||||
return (bUspEnabled = false);
|
||||
|
||||
OUString queryFuncName( RTL_CONSTASCII_USTRINGPARAM( "ScriptIsComplex" ) );
|
||||
pScriptIsComplex = (HRESULT (WINAPI*)(const WCHAR*,int,DWORD))
|
||||
osl_getSymbol( aUspModule, queryFuncName.pData );
|
||||
osl_getAsciiFunctionSymbol( aUspModule, "ScriptIsComplex" );
|
||||
bUspEnabled &= (NULL != pScriptIsComplex);
|
||||
|
||||
queryFuncName = OUString( RTL_CONSTASCII_USTRINGPARAM( "ScriptItemize" ) );
|
||||
pScriptItemize = (HRESULT (WINAPI*)(const WCHAR*,int,int,
|
||||
const SCRIPT_CONTROL*,const SCRIPT_STATE*,SCRIPT_ITEM*,int*))
|
||||
osl_getSymbol( aUspModule, queryFuncName.pData );
|
||||
osl_getAsciiFunctionSymbol( aUspModule, "ScriptItemize" );
|
||||
bUspEnabled &= (NULL != pScriptItemize);
|
||||
|
||||
queryFuncName = OUString( RTL_CONSTASCII_USTRINGPARAM( "ScriptShape" ) );
|
||||
pScriptShape = (HRESULT (WINAPI*)(HDC,SCRIPT_CACHE*,const WCHAR*,
|
||||
int,int,SCRIPT_ANALYSIS*,WORD*,WORD*,SCRIPT_VISATTR*,int*))
|
||||
osl_getSymbol( aUspModule, queryFuncName.pData );
|
||||
osl_getAsciiFunctionSymbol( aUspModule, "ScriptShape" );
|
||||
bUspEnabled &= (NULL != pScriptShape);
|
||||
|
||||
queryFuncName = OUString( RTL_CONSTASCII_USTRINGPARAM( "ScriptPlace" ) );
|
||||
pScriptPlace = (HRESULT (WINAPI*)(HDC, SCRIPT_CACHE*, const WORD*, int,
|
||||
const SCRIPT_VISATTR*,SCRIPT_ANALYSIS*,int*,GOFFSET*,ABC*))
|
||||
osl_getSymbol( aUspModule, queryFuncName.pData );
|
||||
osl_getAsciiFunctionSymbol( aUspModule, "ScriptPlace" );
|
||||
bUspEnabled &= (NULL != pScriptPlace);
|
||||
|
||||
queryFuncName = OUString( RTL_CONSTASCII_USTRINGPARAM( "ScriptGetLogicalWidths" ) );
|
||||
pScriptGetLogicalWidths = (HRESULT (WINAPI*)(const SCRIPT_ANALYSIS*,
|
||||
int,int,const int*,const WORD*,const SCRIPT_VISATTR*,int*))
|
||||
osl_getSymbol( aUspModule, queryFuncName.pData );
|
||||
osl_getAsciiFunctionSymbol( aUspModule, "ScriptGetLogicalWidths" );
|
||||
bUspEnabled &= (NULL != pScriptGetLogicalWidths);
|
||||
|
||||
queryFuncName = OUString( RTL_CONSTASCII_USTRINGPARAM( "ScriptApplyLogicalWidth" ) );
|
||||
pScriptApplyLogicalWidth = (HRESULT (WINAPI*)(const int*,int,int,const WORD*,
|
||||
const SCRIPT_VISATTR*,const int*,const SCRIPT_ANALYSIS*,ABC*,int*))
|
||||
osl_getSymbol( aUspModule, queryFuncName.pData );
|
||||
osl_getAsciiFunctionSymbol( aUspModule, "ScriptApplyLogicalWidth" );
|
||||
bUspEnabled &= (NULL != pScriptApplyLogicalWidth);
|
||||
|
||||
queryFuncName = OUString( RTL_CONSTASCII_USTRINGPARAM( "ScriptJustify" ) );
|
||||
pScriptJustify = (HRESULT (WINAPI*)(const SCRIPT_VISATTR*,const int*,
|
||||
int,int,int,int*))
|
||||
osl_getSymbol( aUspModule, queryFuncName.pData );
|
||||
osl_getAsciiFunctionSymbol( aUspModule, "ScriptJustify" );
|
||||
bUspEnabled &= (NULL != pScriptJustify);
|
||||
|
||||
queryFuncName = OUString( RTL_CONSTASCII_USTRINGPARAM( "ScriptGetFontProperties" ) );
|
||||
pScriptGetFontProperties = (HRESULT (WINAPI*)( HDC,SCRIPT_CACHE*,SCRIPT_FONTPROPERTIES*))
|
||||
osl_getSymbol( aUspModule, queryFuncName.pData );
|
||||
osl_getAsciiFunctionSymbol( aUspModule, "ScriptGetFontProperties" );
|
||||
bUspEnabled &= (NULL != pScriptGetFontProperties);
|
||||
|
||||
queryFuncName = OUString( RTL_CONSTASCII_USTRINGPARAM( "ScriptTextOut" ) );
|
||||
pScriptTextOut = (HRESULT (WINAPI*)(const HDC,SCRIPT_CACHE*,
|
||||
int,int,UINT,const RECT*,const SCRIPT_ANALYSIS*,const WCHAR*,
|
||||
int,const WORD*,int,const int*,const int*,const GOFFSET*))
|
||||
osl_getSymbol( aUspModule, queryFuncName.pData );
|
||||
osl_getAsciiFunctionSymbol( aUspModule, "ScriptTextOut" );
|
||||
bUspEnabled &= (NULL != pScriptTextOut);
|
||||
|
||||
queryFuncName = OUString( RTL_CONSTASCII_USTRINGPARAM( "ScriptFreeCache" ) );
|
||||
pScriptFreeCache = (HRESULT (WINAPI*)(SCRIPT_CACHE*))
|
||||
osl_getSymbol( aUspModule, queryFuncName.pData );
|
||||
osl_getAsciiFunctionSymbol( aUspModule, "ScriptFreeCache" );
|
||||
bUspEnabled &= (NULL != pScriptFreeCache);
|
||||
|
||||
if( !bUspEnabled )
|
||||
|
@ -358,16 +358,12 @@ SalFrame* ImplSalCreateFrame( WinSalInstance* pInst,
|
||||
void *pFunc = NULL;
|
||||
if( pLib )
|
||||
{
|
||||
OUString queryFuncName( RTL_CONSTASCII_USTRINGPARAM( "SetLayeredWindowAttributes" ) );
|
||||
pFunc = osl_getSymbol( pLib, queryFuncName.pData );
|
||||
pFunc = osl_getAsciiFunctionSymbol( pLib, "SetLayeredWindowAttributes" );
|
||||
}
|
||||
|
||||
lpfnSetLayeredWindowAttributes = ( SetLayeredWindowAttributes_Proc_T ) pFunc;
|
||||
|
||||
if ( pFunc )
|
||||
bLayeredAPI = 1;
|
||||
else
|
||||
bLayeredAPI = 0;
|
||||
bLayeredAPI = pFunc ? 1 : 0;
|
||||
}
|
||||
}
|
||||
static const char* pEnvTransparentFloats = getenv("SAL_TRANSPARENT_FLOATS" );
|
||||
@ -2113,8 +2109,7 @@ void WinSalFrame::StartPresentation( BOOL bStart )
|
||||
{
|
||||
OUString aLibraryName( OUString::createFromAscii( aOS.szPathName ) );
|
||||
oslModule mhSageInst = osl_loadModule( aLibraryName.pData, SAL_LOADMODULE_DEFAULT );
|
||||
OUString queryFuncName( RTL_CONSTASCII_USTRINGPARAM( "System_Agent_Enable" ) );
|
||||
pSalData->mpSageEnableProc = (SysAgt_Enable_PROC) osl_getSymbol( mhSageInst, queryFuncName.pData );
|
||||
pSalData->mpSageEnableProc = (SysAgt_Enable_PROC)osl_getAsciiFunctionSymbol( mhSageInst, "System_Agent_Enable" );
|
||||
}
|
||||
else
|
||||
pSalData->mnSageStatus = DISABLE_AGENT;
|
||||
|
Loading…
x
Reference in New Issue
Block a user