Contour API properties added and fixed

This commit is contained in:
Michael Brauer 2001-05-04 08:49:55 +00:00
parent 30bcabf7f2
commit ca8b9e43d6
4 changed files with 90 additions and 22 deletions

View file

@ -2,9 +2,9 @@
*
* $RCSfile: xmlkywd.hxx,v $
*
* $Revision: 1.144 $
* $Revision: 1.145 $
*
* last change: $Author: dvo $ $Date: 2001-05-02 16:19:18 $
* last change: $Author: mib $ $Date: 2001-05-04 09:46:22 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@ -1352,6 +1352,7 @@ XML_CONSTASCII_ACTION( sXML_radar, "radar" );
XML_CONSTASCII_ACTION( sXML_random, "random" );
XML_CONSTASCII_ACTION( sXML_range_address, "range-address");
XML_CONSTASCII_ACTION( sXML_range_usable_as, "range-usable-as");
XML_CONSTASCII_ACTION( sXML_recreate_on_edit , "recreate-on-edit" );
XML_CONSTASCII_ACTION( sXML_rect , "rect" );
XML_CONSTASCII_ACTION( sXML_red , "red" );
XML_CONSTASCII_ACTION( sXML_ref_name, "ref-name" );

View file

@ -2,9 +2,9 @@
*
* $RCSfile: XMLTextFrameContext.cxx,v $
*
* $Revision: 1.39 $
* $Revision: 1.40 $
*
* last change: $Author: mib $ $Date: 2001-04-25 13:35:19 $
* last change: $Author: mib $ $Date: 2001-05-04 09:49:55 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@ -257,6 +257,8 @@ XMLTextFrameContourContext_Impl::XMLTextFrameContourContext_Impl(
xPropSet( rPropSet )
{
OUString sD, sPoints, sViewBox;
sal_Bool bPixelWidth = sal_False, bPixelHeight = sal_False;
sal_Bool bAuto = sal_False;
sal_Int32 nWidth = 0;
sal_Int32 nHeight = 0;
@ -287,25 +289,35 @@ XMLTextFrameContourContext_Impl::XMLTextFrameContourContext_Impl(
sPoints = rValue;
break;
case XML_TOK_TEXT_CONTOUR_WIDTH:
GetImport().GetMM100UnitConverter().convertMeasure( nWidth,
if( GetImport().GetMM100UnitConverter().convertMeasurePx( nWidth,
rValue) )
bPixelWidth = sal_True;
else
GetImport().GetMM100UnitConverter().convertMeasure( nWidth,
rValue);
break;
case XML_TOK_TEXT_CONTOUR_HEIGHT:
GetImport().GetMM100UnitConverter().convertMeasure( nHeight,
rValue);
if( GetImport().GetMM100UnitConverter().convertMeasurePx( nHeight,
rValue) )
bPixelHeight = sal_True;
else
GetImport().GetMM100UnitConverter().convertMeasure( nHeight,
rValue);
break;
case XML_TOK_TEXT_CONTOUR_AUTO:
bAuto = rValue.equalsAsciiL( sXML_true, sizeof(sXML_true)-1 );
break;
}
}
#if SUPD < 628
// HACK!!!!
delete (SvXMLTokenMap *)&rTokenMap;
#endif
OUString sContourPolyPolygon(
RTL_CONSTASCII_USTRINGPARAM("ContourPolyPolygon") );
if( rPropSet->getPropertySetInfo()->hasPropertyByName(
Reference < XPropertySetInfo > xPropSetInfo =
rPropSet->getPropertySetInfo();
if( xPropSetInfo->hasPropertyByName(
sContourPolyPolygon ) &&
nWidth > 0 && nHeight > 0 && (bPath ? sD : sPoints).getLength() )
nWidth > 0 && nHeight > 0 && bPixelWidth == bPixelHeight &&
(bPath ? sD : sPoints).getLength() )
{
awt::Point aPoint( 0, 0 );
awt::Size aSize( nWidth, nHeight );
@ -325,7 +337,23 @@ XMLTextFrameContourContext_Impl::XMLTextFrameContourContext_Impl(
aAny <<= aPoints.GetPointSequenceSequence();
}
OUString sIsPixelContour(
RTL_CONSTASCII_USTRINGPARAM("IsPixelContour") );
xPropSet->setPropertyValue( sContourPolyPolygon, aAny );
if( xPropSetInfo->hasPropertyByName( sIsPixelContour ) )
{
aAny.setValue( &bPixelWidth, ::getBooleanCppuType() );
xPropSet->setPropertyValue( sIsPixelContour, aAny );
}
OUString sIsAutomaticContour(
RTL_CONSTASCII_USTRINGPARAM("IsAutomaticContour") );
if( xPropSetInfo->hasPropertyByName( sIsAutomaticContour ) )
{
aAny.setValue( &bAuto, ::getBooleanCppuType() );
xPropSet->setPropertyValue( sIsAutomaticContour, aAny );
}
}
}

View file

@ -2,9 +2,9 @@
*
* $RCSfile: txtimp.cxx,v $
*
* $Revision: 1.69 $
* $Revision: 1.70 $
*
* last change: $Author: dvo $ $Date: 2001-05-02 16:19:18 $
* last change: $Author: mib $ $Date: 2001-05-04 09:49:55 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@ -495,6 +495,7 @@ static __FAR_DATA SvXMLTokenMapEntry aTextContourAttrTokenMap[] =
{ XML_NAMESPACE_SVG, sXML_viewBox, XML_TOK_TEXT_CONTOUR_VIEWBOX },
{ XML_NAMESPACE_SVG, sXML_d, XML_TOK_TEXT_CONTOUR_D },
{ XML_NAMESPACE_DRAW,sXML_points, XML_TOK_TEXT_CONTOUR_POINTS },
{ XML_NAMESPACE_DRAW,sXML_recreate_on_edit, XML_TOK_TEXT_CONTOUR_AUTO },
XML_TOKEN_MAP_END
};

View file

@ -2,9 +2,9 @@
*
* $RCSfile: txtparae.cxx,v $
*
* $Revision: 1.75 $
* $Revision: 1.76 $
*
* last change: $Author: mib $ $Date: 2001-04-30 13:37:27 $
* last change: $Author: mib $ $Date: 2001-05-04 09:49:55 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@ -722,6 +722,8 @@ XMLTextParagraphExport::XMLTextParagraphExport(
sDocumentIndexMark(RTL_CONSTASCII_USTRINGPARAM("DocumentIndexMark")),
sActualSize(RTL_CONSTASCII_USTRINGPARAM("ActualSize")),
sContourPolyPolygon(RTL_CONSTASCII_USTRINGPARAM("ContourPolyPolygon")),
sIsPixelContour(RTL_CONSTASCII_USTRINGPARAM("IsPixelContour")),
sIsAutomaticContour(RTL_CONSTASCII_USTRINGPARAM("IsAutomaticContour")),
sAnchorCharStyleName(RTL_CONSTASCII_USTRINGPARAM("AnchorCharStyleName")),
sServerMap(RTL_CONSTASCII_USTRINGPARAM("ServerMap")),
sRedline(RTL_CONSTASCII_USTRINGPARAM("Redline")),
@ -1922,18 +1924,45 @@ void XMLTextParagraphExport::exportContour(
return;
awt::Point aPoint( 0, 0 );
awt::Size aSize;
aAny = rPropSet->getPropertyValue( sActualSize );
aAny >>= aSize;
awt::Size aSize( 0, 0 );
sal_Int32 nPolygons = aSourcePolyPolygon.getLength();
const PointSequence *pPolygons = aSourcePolyPolygon.getConstArray();
while( nPolygons-- )
{
sal_Int32 nPoints = pPolygons->getLength();
const awt::Point *pPoints = pPolygons->getConstArray();
while( nPoints-- )
{
if( aSize.Width < pPoints->X )
aSize.Width = pPoints->X;
if( aSize.Height < pPoints->Y )
aSize.Height = pPoints->Y;
pPoints++;
}
pPolygons++;
}
sal_Bool bPixel = sal_False;
if( rPropSetInfo->hasPropertyByName( sIsPixelContour ) )
{
aAny = rPropSet->getPropertyValue( sIsPixelContour );
bPixel = *(sal_Bool *)aAny.getValue();
}
// svg: width
OUStringBuffer aStringBuffer( 10 );
GetExport().GetMM100UnitConverter().convertMeasure(aStringBuffer, aSize.Width);
if( bPixel )
GetExport().GetMM100UnitConverter().convertMeasurePx(aStringBuffer, aSize.Width);
else
GetExport().GetMM100UnitConverter().convertMeasure(aStringBuffer, aSize.Width);
GetExport().AddAttribute( XML_NAMESPACE_SVG, sXML_width,
aStringBuffer.makeStringAndClear() );
// svg: height
GetExport().GetMM100UnitConverter().convertMeasure(aStringBuffer, aSize.Height);
if( bPixel )
GetExport().GetMM100UnitConverter().convertMeasurePx(aStringBuffer, aSize.Height);
else
GetExport().GetMM100UnitConverter().convertMeasure(aStringBuffer, aSize.Height);
GetExport().AddAttribute( XML_NAMESPACE_SVG, sXML_height,
aStringBuffer.makeStringAndClear() );
@ -1987,6 +2016,15 @@ void XMLTextParagraphExport::exportContour(
}
}
if( rPropSetInfo->hasPropertyByName( sIsAutomaticContour ) )
{
aAny = rPropSet->getPropertyValue( sIsAutomaticContour );
if( *(sal_Bool *)aAny.getValue() )
GetExport().AddAttributeASCII( XML_NAMESPACE_DRAW,
sXML_recreate_on_edit,
sXML_true );
}
// write object now
SvXMLElementExport aElem( GetExport(), XML_NAMESPACE_DRAW, pElem,
sal_True, sal_True );