Age | Commit message (Collapse) | Author |
|
2004/04/27 13:42:44 ka 1.6.68.3: created new resource structure for images
2004/04/21 14:46:13 ka 1.6.68.2: added support for external imagelist images
2004/04/06 15:43:25 pl 1.6.68.1: #i27525# add support for image lists
|
|
2004/04/21 14:46:13 ka 1.4.88.1: added support for external imagelist images
|
|
2004/04/27 13:42:44 ka 1.8.74.4: created new resource structure for images
2004/04/21 14:46:13 ka 1.8.74.3: added support for external imagelist images
2004/04/06 15:43:24 pl 1.8.74.2: #i27525# add support for image lists
2004/02/02 08:51:45 ka 1.8.74.1: added environment variable to dump all bitmap/image resources into an output directory (RSC_FSYS_RESOURCES)
|
|
2004/04/30 12:26:49 ka 1.46.50.3: removed win/res search dir
2004/04/27 20:51:06 ka 1.46.50.2: RESYNC: (1.46-1.47); FILE MERGED
2004/04/27 14:33:18 ka 1.46.50.1: using new resource structure for images
|
|
2004/04/27 20:46:47 ka 1.24.50.2: RESYNC: (1.24-1.25); FILE MERGED
2004/04/27 14:33:17 ka 1.24.50.1: using new resource structure for images
|
|
2004/04/27 14:33:16 ka 1.52.66.1: using new resource structure for images
|
|
2004/04/27 14:33:15 ka 1.7.124.1: using new resource structure for images
|
|
2004/04/27 14:33:15 ka 1.11.124.1: using new resource structure for images
|
|
2004/04/27 14:33:14 ka 1.4.450.1: using new resource structure for images
|
|
2004/02/13 13:18:58 ka 1.6.288.1: #i22149#: support for alpha masks (cleanup)
|
|
2004/04/15 10:07:15 ka 1.2.306.1: added InitVCL call
|
|
2004/04/15 10:07:15 ka 1.12.278.6: added InitVCL call
2004/03/03 19:30:41 ka 1.12.278.5: removed invalid dot for extension
2004/03/03 19:19:39 ka 1.12.278.4: syntax
2004/03/03 16:26:10 ka 1.12.278.3: added PNG support
2004/02/13 13:18:58 ka 1.12.278.2: #i22149#: support for alpha masks (cleanup)
2004/02/11 16:42:04 ka 1.12.278.1: #i22149#: added alpha mask support for Images/ImageLists
|
|
2003/11/24 16:01:23 tv 1.9.254.2: RESYNC: (1.9-1.10); FILE MERGED
2003/09/24 15:20:56 bc 1.9.254.1: #111603# Roadmap label class added
|
|
2004/02/13 18:15:31 tv 1.60.42.3: RESYNC: (1.61-1.62); FILE MERGED
2004/01/05 12:54:38 tv 1.60.42.2: RESYNC: (1.60-1.61); FILE MERGED
2003/11/07 15:10:16 bc 1.60.42.1: #111603# Roadmap API wrapper for Wizards added
|
|
2004/01/05 12:57:05 tv 1.14.36.2: RESYNC: (1.14-1.15); FILE MERGED
2003/11/10 12:38:52 bc 1.14.36.1: #111603# properties for roadmapcontrol added
|
|
2004/04/05 12:28:34 fs 1.9.318.4: #i27457# some cleanup with respect to roadmap's index vs. id
2004/03/18 14:24:38 tv 1.9.318.3: change reference to Any to real object
2003/11/18 16:16:52 bc 1.9.318.2: #111603# unoiface.cxx added
2003/11/10 12:25:06 bc 1.9.318.1: #111603# roadmap peer added
|
|
2004/03/11 16:39:04 fs 1.4.318.1: #115918# initialize the formatter so that date strings are also analyzed according to international format
|
|
2004/04/05 12:28:14 fs 1.2.318.2: #i27457# forward-declare ORoadmap
2003/11/18 16:21:08 bc 1.2.318.1: #111603# unoiface.cxx added
|
|
2004/04/05 12:26:55 fs 1.3.322.1: #i27457# ImplPosTabPage: properly position during InitShow
|
|
2004/04/07 08:35:37 tv 1.6.344.2: #100000# compiler problems under solaris fixed
2004/04/05 12:26:18 fs 1.6.344.1: some cleanup / additions for #i27457#
|
|
2004/04/05 12:44:40 fs 1.1.2.2: #i27457# allow setting Interactive/Bitmap
2004/04/05 12:27:30 fs 1.1.2.1: #i27457# helper class for a wizard supporting a roadmap
|
|
2004/04/05 12:27:36 fs 1.9.58.1: #i27457# +roadmapwizard
|
|
2004/04/05 12:25:45 fs 1.1.4.5: #i27457# some cleanup with respect to index vs. id
2003/11/18 17:15:55 tv 1.1.4.4: removed constructor because of gcc compiler problem
2003/11/10 12:13:40 bc 1.1.4.3: #111603# Roadmap control added
2003/09/24 15:20:57 bc 1.1.4.2: #111603# Roadmap label class added
2003/09/15 14:58:09 bc 1.1.4.1: #111603# class file for roadmap added
|
|
2004/04/05 12:25:53 fs 1.1.2.3: #i27457# some cleanup and small additions
2004/03/22 15:41:39 tv 1.1.2.2: resolved line end problems
2003/11/18 16:45:08 tv 1.1.2.1: Renamed HyperLabel.cxx --> hyperlabel.cxx
|
|
2004/04/05 12:43:33 fs 1.110.12.1: #i27457# deliver roadmapwizard.hxx
|
|
2004/04/05 12:23:51 fs 1.1.2.2: #i27457# some cleanup with respect to index vs. id
2003/11/10 12:19:35 bc 1.1.2.1: #111603# Roadmap Control added
|
|
2003/11/07 15:27:16 bc 1.21.78.1: #111603# roadmapcontrol added
|
|
2004/01/05 12:52:23 tv 1.5.188.2: RESYNC: (1.5-1.6); FILE MERGED
2003/11/07 15:27:15 bc 1.5.188.1: #111603# roadmapcontrol added
|
|
2004/01/06 16:12:56 tv 1.8.92.4: fixed another merge conflict problem
2004/01/06 16:01:38 tv 1.8.92.3: fixed conflict solving error
2004/01/05 12:52:08 tv 1.8.92.2: RESYNC: (1.8-1.9); FILE MERGED
2003/11/07 15:27:14 bc 1.8.92.1: #111603# roadmapcontrol added
|
|
2004/01/05 12:51:47 tv 1.19.36.2: RESYNC: (1.19-1.20); FILE MERGED
2003/11/07 15:27:13 bc 1.19.36.1: #111603# roadmapcontrol added
|
|
2003/11/19 09:59:03 tv 1.1.2.2: make it compile on gcc
2003/11/07 15:13:50 bc 1.1.2.1: #111603# RoadmapEntry added
|
|
2004/03/18 13:55:53 tv 1.1.14.1: Changed reference to Any to real object
|
|
2004/01/05 12:53:29 tv 1.8.92.5: RESYNC: (1.8-1.9); FILE MERGED
2003/11/19 09:59:02 tv 1.8.92.4: make it compile on gcc
2003/11/07 15:24:24 bc 1.8.92.3: #111603# roadmapentry added
2003/11/07 15:10:13 bc 1.8.92.2: #111603# Roadmap API wrapper for Wizards added
2003/10/07 07:51:46 bc 1.8.92.1: #111603# roadmapcontrol for future wizards added
|
|
2004/01/05 12:52:39 tv 1.4.56.2: RESYNC: (1.4-1.5); FILE MERGED
2003/11/07 15:10:12 bc 1.4.56.1: #111603# Roadmap API wrapper for Wizards added
|
|
2004/01/05 12:57:23 tv 1.5.188.2: RESYNC: (1.5-1.6); FILE MERGED
2003/11/10 12:38:52 bc 1.5.188.1: #111603# properties for roadmapcontrol added
|
|
2004/01/05 12:58:37 tv 1.29.56.2: RESYNC: (1.29-1.30); FILE MERGED
2003/11/07 15:12:02 bc 1.29.56.1: #111603# Roadmap API wrapper added
|
|
2004/03/18 12:25:04 tv 1.1.2.2: added newline at end of file
2003/11/07 15:25:51 bc 1.1.2.1: #111603# roadmapentry added
|
|
2003/11/19 09:59:00 tv 1.1.2.4: make it compile on gcc
2003/11/18 16:15:53 bc 1.1.2.3: #111603# RoadmapEntry added
2003/11/07 15:12:01 bc 1.1.2.2: #111603# Roadmap API wrapper added
2003/10/07 07:54:53 bc 1.1.2.1: #111603# roadmapcontrol for future wizards added
|
|
2004/05/19 11:39:49 hr 1.6.14.2: #i29326#: Visual C** needs _USE_MATH_DEFINES for math constants
2004/05/19 11:25:28 hr 1.6.14.1: #i29326#: remove dependency on tools
|
|
2004/05/17 14:30:09 kso 1.1.1.1.134.1: #i27607# - Corrected dynamic resultset service name.
|
|
2004/03/29 06:53:40 mi 1.94.112.1.40.1.12.3: RESYNC: (1.101-1.103); FILE MERGED
2004/02/03 11:36:40 mi 1.94.112.1.40.1.12.2: RESYNC: (1.94.112.1.40.1-1.101); FILE MERGED
2004/01/06 13:45:27 mi 1.94.112.1.40.1.12.1: #i19974# closing OooBean caused crash in OOo
|
|
2004/04/23 15:07:44 pl 1.163.38.5: corrected incomplete call of X11SalFrame::Init
2004/03/29 06:54:37 mi 1.163.38.4: RESYNC: (1.168-1.172); FILE MERGED
2004/02/03 11:51:27 mi 1.163.38.3: RESYNC: (1.163.76.1-1.168); FILE MERGED
2003/12/11 07:47:11 mi 1.163.38.2: RESYNC: (1.163-1.163.76.1); FILE MERGED
2003/12/10 14:09:21 mi 1.163.38.1: #i19974# OOoBean / SetPluginParent() can set null parent now
|
|
|
|
2004/03/18 11:23:22 pl 1.16.100.1: #112891# merge from apoc02
|
|
*
* $RCSfile$
*
* $Revision$
*
* last change: $Author$ $Date$
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
*
* - GNU Lesser General Public License Version 2.1
* - Sun Industry Standards Source License Version 1.1
*
* Sun Microsystems Inc., October, 2000
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2000 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
*
* Sun Industry Standards Source License Version 1.1
* =================================================
* The contents of this file are subject to the Sun Industry Standards
* Source License Version 1.1 (the "License"); You may not use this file
* except in compliance with the License. You may obtain a copy of the
* License at http://www.openoffice.org/license.html.
*
* Software provided under this License is provided on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
* See the License for the specific provisions governing your rights and
* obligations concerning the Software.
*
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
*
* Copyright: 2000 by Sun Microsystems, Inc.
*
* All Rights Reserved.
*
* Contributor(s): _______________________________________
*
*
************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifndef XLFD_ATTRIBUTE_HXX
#include "xlfd_attr.hxx"
#endif
#ifndef XLFD_SIMPLE_HXX
#include "xlfd_smpl.hxx"
#endif
// --------------------------------------------------------------------------
//
//
// broken down structure equivalent to a Xlfd string
//
//
// --------------------------------------------------------------------------
Xlfd::Xlfd()
{
}
// XlfdCompare abi has to be qsort(3) compatible, the sorting result must
// guarantee that fonts with SameFontoutline() are successive
// XlfdCompare relies on vFrom->mpFactory eq vTo->mpFactory. Since comparing
// Xlfd's is done by comparing attributes there is no way around this.
extern "C" int
XlfdCompare( const void *vFrom, const void *vTo )
{
const Xlfd *pFrom = (Xlfd*)vFrom;
const Xlfd *pTo = (Xlfd*)vTo;
// Compare outline description
if ( pFrom->mnFoundry != pTo->mnFoundry )
return (int)pFrom->mnFoundry - (int)pTo->mnFoundry;
if ( pFrom->mnFamily != pTo->mnFamily )
return (int)pFrom->mnFamily - (int)pTo->mnFamily;
if ( pFrom->mnWeight != pTo->mnWeight )
return (int)pFrom->mnWeight - (int)pTo->mnWeight;
if ( pFrom->mnSlant != pTo->mnSlant )
return (int)pFrom->mnSlant - (int)pTo->mnSlant;
if ( pFrom->mnSetwidth != pTo->mnSetwidth )
return (int)pFrom->mnSetwidth - (int)pTo->mnSetwidth;
// Addstyle name is futile tricky. it may contain encoding information
// (like "ansi_1251") which Compares equal, or it may contain style
// information (like "serif") which Compares unequal, anyway if the font
// is "interface user" or "interface system" then compare equal anyway to
// build fontsets as large as possible
if ( pFrom->mnAddstyle == pTo->mnAddstyle )
return 0;
AttributeProvider *pFactory = pFrom->mpFactory;
Attribute *pFamily = pFactory->RetrieveFamily( pFrom->mnFamily );
if ( pFamily->HasFeature(XLFD_FEATURE_APPLICATION_FONT) )
return 0;
Attribute *pFromAddStyle = pFactory->RetrieveAddstyle( pFrom->mnAddstyle );
Attribute *pToAddStyle = pFactory->RetrieveAddstyle( pTo->mnAddstyle );
// if both addstyles denote encodings or if one denotes an
// encoding and the other denotes a style which really
// duplicates weight and slant information
int nFromCompare = (pFromAddStyle->GetValue() != RTL_TEXTENCODING_DONTKNOW)
|| (pFromAddStyle->HasFeature(XLFD_FEATURE_REDUNDANTSTYLE)) ?
-1 : pFrom->mnAddstyle;
int nToCompare = (pToAddStyle->GetValue() != RTL_TEXTENCODING_DONTKNOW)
|| (pToAddStyle->HasFeature(XLFD_FEATURE_REDUNDANTSTYLE)) ?
-1 : pTo->mnAddstyle;
return nFromCompare - nToCompare;
}
// check whether two fonts are identical as appearance is concerned
// this does not Compare the actual scaling of two fonts
Bool
Xlfd::SameFontoutline( const Xlfd* pComparedTo ) const
{
void* pThis = (void*)this;
return XlfdCompare( (void*)pThis, (void*)pComparedTo ) == 0 ;
}
unsigned short
Xlfd::GetEncoding() const
{
Attribute *pAddstyle = mpFactory->RetrieveAddstyle( mnAddstyle );
if ( pAddstyle->GetValue() != RTL_TEXTENCODING_DONTKNOW )
return pAddstyle->GetValue();
Attribute *pEncoding = mpFactory->RetrieveCharset( mnCharset );
return pEncoding->GetValue();
}
XlfdFonttype
Xlfd::Fonttype() const
{
if ( (mnAverageWidth == 0) && (mnPixelSize == 0) && (mnPointSize == 0) )
{
return (mnResolutionX == 0)
&& (mnResolutionY == 0) ? eTypeScalable : eTypeScalableBitmap;
}
return eTypeBitmap;
}
void
Advance( const char** pFrom, const char** pTo )
{
const char *pTmp = *pTo;
for( ; (*pTmp != '\0') && (*pTmp++ != '-'); )
{}
*pFrom = *pTo;
*pTo = pTmp;
}
Bool
Xlfd::IsConformant (const char* pXlfd) const
{
// X FontNameRegistry prefix "-"
if (*pXlfd++ != '-')
return False;
// All Xlfd FontName fields are defined
int nNumFields = 1;
while (*pXlfd != '\0')
{
if (*pXlfd++ == '-')
nNumFields++;
}
// enough entries ?
if (nNumFields != 14)
return False;
// and the last one is not empty as well ?
if (*(pXlfd - 1) == '-')
return False;
return True;
}
// this is the real workhorse function. Since this is called for every font
// in the fontpath it has to be as fast a possible
Bool
Xlfd::FromString( const char* pXlfdstring, AttributeProvider *pFactory )
{
if (!IsConformant(pXlfdstring))
return False;
const char* pFrom = pXlfdstring + 1;
const char* pTo = pFrom;
mpFactory = pFactory;
Advance( &pFrom, &pTo ); //-foundry-*
mnFoundry = mpFactory->InsertFoundry( pFrom, pTo - pFrom - 1 );
Advance( &pFrom, &pTo ); // -*-family-*
mnFamily = mpFactory->InsertFamily( pFrom, pTo - pFrom - 1 );
Advance( &pFrom, &pTo ); // -*-*-weight-*
mnWeight = mpFactory->InsertWeight( pFrom, pTo - pFrom - 1 );
Advance( &pFrom, &pTo ); //-*-*-*-slant-*
mnSlant = mpFactory->InsertSlant( pFrom, pTo - pFrom - 1 );
Advance( &pFrom, &pTo ); //-*-*-*-*-setwidth-*
mnSetwidth = mpFactory->InsertSetwidth( pFrom, pTo - pFrom - 1 );
Advance( &pFrom, &pTo ); //-*-*-*-*-*-Addstyle-*
mnAddstyle = mpFactory->InsertAddstyle( pFrom, pTo - pFrom - 1 );
Advance( &pFrom, &pTo ); //-*-*-*-*-*-*-height-*
mnPixelSize = atoi( pFrom );
Advance( &pFrom, &pTo ); //-*-*-*-*-*-*-*-pt height-*
mnPointSize = atoi( pFrom );
Advance( &pFrom, &pTo ); //-*-*-*-*-*-*-*-*-x resolution-*
mnResolutionX = atoi( pFrom );
Advance( &pFrom, &pTo ); //-*-*-*-*-*-*-*-*-*-y resolution-*
mnResolutionY = atoi( pFrom );
Advance( &pFrom, &pTo ); //-*-*-*-*-*-*-*-*-*-*-spacing-*
mcSpacing = pFrom == pTo ? '\0' : *pFrom;
Advance( &pFrom, &pTo ); //-*-*-*-*-*-*-*-*-*-*-*-average-*
mnAverageWidth = atoi( pFrom );
Advance( &pFrom, &pTo ); //-*-*-*-*-*-*-*-*-*-*-*-*-registry-encoding
const char* pTmp = pFrom;
Advance( &pTmp, &pTo );
mnCharset = mpFactory->InsertCharset( pFrom, pTo - pFrom );
// sanity check whether we have really found a valid XLFD, if not
// throw away the whole font, since we have no idea what parts of
// the XLFD contains the error.
if ( !(pTo > pFrom) )
return False;
// a non-empty family name is essential, since otherwise the font
// would match the "default font" #52299#
Attribute* pFamily = mpFactory->RetrieveFamily( mnFamily );
const char* pFamilyName = pFamily->GetName();
if ( pFamilyName[0] == '\0' )
return False;
// well done
return True;
}
#if OSL_DEBUG_LEVEL > 1
// pure debug for now: this is only to inspect/pretty print a Xlfd struct
const char*
Xlfd::ToString( ByteString &rString ) const
{
AppendAttribute( mpFactory->RetrieveFoundry(mnFoundry), rString );
AppendAttribute( mpFactory->RetrieveFamily(mnFamily), rString );
AppendAttribute( mpFactory->RetrieveWeight(mnWeight), rString );
AppendAttribute( mpFactory->RetrieveSlant(mnSlant), rString );
AppendAttribute( mpFactory->RetrieveSetwidth(mnSetwidth), rString );
AppendAttribute( mpFactory->RetrieveAddstyle(mnAddstyle), rString );
rString.Append("-"); rString.Append( ByteString::CreateFromInt32( mnPixelSize ) );
rString.Append("-"); rString.Append( ByteString::CreateFromInt32( mnPointSize ) );
rString.Append("-"); rString.Append( ByteString::CreateFromInt32( mnResolutionX ) );
rString.Append("-"); rString.Append( ByteString::CreateFromInt32( mnResolutionY ) );
rString.Append("-"); rString.Append( (char)mcSpacing );
rString.Append("-"); rString.Append( ByteString::CreateFromInt32( mnAverageWidth ) );
AppendAttribute( mpFactory->RetrieveCharset(mnCharset), rString );
return rString.GetBuffer() ;
}
void
Xlfd::Dump() const
{
ByteString aString;
fprintf(stderr, "Xlfd: %s\n", ToString(aString) );
}
#endif
|
|
2004/03/23 17:17:03 ssa 1.18.58.1: provide empty CreateSalSession()
|
|
2004/03/29 13:50:09 pl 1.4.510.1: #i27063# do not use static images
|
|
2004/03/29 13:50:09 pl 1.33.132.1: #i27063# do not use static images
|
|
2004/03/29 13:50:09 pl 1.11.292.1: #i27063# do not use static images
|
|
2004/03/23 10:41:52 pl 1.10.90.2: RESYNC: (1.10-1.11); FILE MERGED
2004/03/18 16:04:33 pl 1.10.90.1: #i26547# get product name from configuration
|