[Libreoffice-commits] libmspub.git: 2 commits - src/lib
Fridrich Å trba
fridrich.strba at bluewin.ch
Tue Apr 16 00:32:29 PDT 2013
src/lib/MSPUBCollector.cpp | 53 +++++++++++++++++++--------------------------
src/lib/MSPUBCollector.h | 2 -
src/lib/MSPUBParser.cpp | 15 +++++-------
src/lib/MSPUBParser2k.cpp | 2 -
src/lib/MSPUBParser97.cpp | 2 -
src/lib/PolygonUtils.cpp | 14 +++++------
src/lib/ShapeInfo.h | 7 ++---
7 files changed, 43 insertions(+), 52 deletions(-)
New commits:
commit 45093bd820c2e7863aebed9b106488021a641061
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date: Tue Apr 16 09:25:20 2013 +0200
*.is_initialized() -> status
diff --git a/src/lib/MSPUBCollector.cpp b/src/lib/MSPUBCollector.cpp
index 36f51ca..895b736 100644
--- a/src/lib/MSPUBCollector.cpp
+++ b/src/lib/MSPUBCollector.cpp
@@ -333,7 +333,7 @@ std::vector<int> libmspub::MSPUBCollector::getShapeAdjustValues(const ShapeInfo
boost::optional<std::vector<libmspub::TextParagraph> > libmspub::MSPUBCollector::getShapeText(const ShapeInfo &info) const
{
- if (info.m_textId.is_initialized())
+ if (!!info.m_textId)
{
unsigned stringId = info.m_textId.get();
const std::vector<TextParagraph> *ptr_str = getIfExists_const(m_textStringsById, stringId);
@@ -350,11 +350,11 @@ void libmspub::MSPUBCollector::setupShapeStructures(ShapeGroupElement &elt)
ShapeInfo *ptr_info = getIfExists(m_shapeInfosBySeqNum, elt.getSeqNum());
if (ptr_info)
{
- if (ptr_info->m_imgIndex.is_initialized())
+ if (!!ptr_info->m_imgIndex)
{
unsigned index = ptr_info->m_imgIndex.get();
int rot = 0;
- if (ptr_info->m_innerRotation.is_initialized())
+ if (!!ptr_info->m_innerRotation)
rot = ptr_info->m_innerRotation.get();
if (index - 1 < m_images.size())
{
@@ -390,7 +390,7 @@ boost::function<void(void)> libmspub::MSPUBCollector::paintShape(const ShapeInfo
bool hasStroke = false;
bool hasBorderArt = false;
boost::optional<unsigned> maybeBorderImg = info.m_borderImgIndex;
- if (maybeBorderImg.is_initialized() && !info.m_lines.empty())
+ if (!!maybeBorderImg && !info.m_lines.empty())
{
hasStroke = true;
hasBorderArt = true;
@@ -409,7 +409,7 @@ boost::function<void(void)> libmspub::MSPUBCollector::paintShape(const ShapeInfo
WPXString fill = graphicsProps["draw:fill"] ? graphicsProps["draw:fill"]->getStr() : "none";
bool hasFill = fill != "none";
boost::optional<std::vector<TextParagraph> > maybeText = getShapeText(info);
- bool hasText = maybeText.is_initialized();
+ bool hasText = !!maybeText;
bool makeLayer = hasBorderArt ||
(hasStroke && hasFill) || (hasStroke && hasText) || (hasFill && hasText);
if (makeLayer)
@@ -432,7 +432,7 @@ boost::function<void(void)> libmspub::MSPUBCollector::paintShape(const ShapeInfo
BorderPosition borderPosition =
hasBorderArt ? INSIDE_SHAPE : info.m_borderPosition.get_value_or(HALF_INSIDE_SHAPE);
ShapeType type;
- if (info.m_cropType.is_initialized())
+ if (!!info.m_cropType)
{
type = info.m_cropType.get();
}
@@ -460,7 +460,7 @@ boost::function<void(void)> libmspub::MSPUBCollector::paintShape(const ShapeInfo
width -= 2 * borderImgWidth;
}
}
- if (info.m_pictureRecolor.is_initialized())
+ if (!!info.m_pictureRecolor)
{
Color obc = info.m_pictureRecolor.get().getFinalColor(m_paletteColors);
graphicsProps.insert("draw:color-mode", "greyscale");
@@ -472,7 +472,7 @@ boost::function<void(void)> libmspub::MSPUBCollector::paintShape(const ShapeInfo
static_cast<double>(obc.g) / 255.0, WPX_PERCENT);
}
bool shadowPropsInserted = false;
- if (info.m_shadow.is_initialized())
+ if (!!info.m_shadow)
{
const Shadow &s = info.m_shadow.get();
if (!needsEmulation(s))
@@ -496,7 +496,7 @@ boost::function<void(void)> libmspub::MSPUBCollector::paintShape(const ShapeInfo
writeCustomShape(type, graphicsProps, m_painter, x, y, height, width,
true, foldedTransform,
std::vector<Line>(), boost::bind(&libmspub::MSPUBCollector::getCalculationValue, this, info, _1, false, adjustValues), m_paletteColors, info.getCustomShape());
- if (info.m_pictureRecolor.is_initialized())
+ if (!!info.m_pictureRecolor)
{
graphicsProps.remove("draw:color-mode");
graphicsProps.remove("draw:red");
@@ -581,7 +581,7 @@ boost::function<void(void)> libmspub::MSPUBCollector::paintShape(const ShapeInfo
m_painter->drawRectangle(leftRectProps);
std::vector<unsigned>::const_iterator iOffset = ba.m_offsets.begin();
boost::optional<Color> oneBitColor;
- if (info.m_lineBackColor.is_initialized())
+ if (!!info.m_lineBackColor)
{
oneBitColor = info.m_lineBackColor.get().getFinalColor(m_paletteColors);
}
@@ -732,7 +732,7 @@ boost::function<void(void)> libmspub::MSPUBCollector::paintShape(const ShapeInfo
height = strokeCoord.getHeightIn();
width = strokeCoord.getWidthIn();
graphicsProps.insert("draw:fill", "none");
- if (info.m_dash.is_initialized() && !info.m_dash.get().m_dots.empty())
+ if (!!info.m_dash && !info.m_dash.get().m_dots.empty())
{
const Dash &dash = info.m_dash.get();
graphicsProps.insert("draw:stroke", "dash");
@@ -753,7 +753,7 @@ boost::function<void(void)> libmspub::MSPUBCollector::paintShape(const ShapeInfo
WPXString dots;
dots.sprintf("draw:dots%d", i + 1);
graphicsProps.insert(dots.cstr(), static_cast<int>(dash.m_dots[i].m_count));
- if (dash.m_dots[i].m_length.is_initialized())
+ if (!!dash.m_dots[i].m_length)
{
WPXString length;
length.sprintf("draw:dots%d-length", i + 1);
@@ -793,7 +793,7 @@ boost::function<void(void)> libmspub::MSPUBCollector::paintShape(const ShapeInfo
props.insert("fo:padding-top", (double)margins.m_top / EMUS_IN_INCH);
props.insert("fo:padding-right", (double)margins.m_right / EMUS_IN_INCH);
props.insert("fo:padding-bottom", (double)margins.m_bottom / EMUS_IN_INCH);
- if(info.m_verticalAlign.is_initialized())
+ if(!!info.m_verticalAlign)
{
switch (info.m_verticalAlign.get())
{
@@ -837,7 +837,7 @@ boost::function<void(void)> libmspub::MSPUBCollector::paintShape(const ShapeInfo
const char *libmspub::MSPUBCollector::getCalculatedEncoding() const
{
- if (m_calculatedEncoding.is_initialized())
+ if (!!m_calculatedEncoding)
{
return m_calculatedEncoding.get();
}
@@ -908,7 +908,7 @@ void libmspub::MSPUBCollector::writeImage(double x, double y,
boost::optional<Color> oneBitColor) const
{
WPXPropertyList props;
- if (oneBitColor.is_initialized())
+ if (!!oneBitColor)
{
Color obc = oneBitColor.get();
props.insert("draw:color-mode", "greyscale");
@@ -1128,7 +1128,7 @@ void libmspub::MSPUBCollector::addFont(std::vector<unsigned char> name)
WPXPropertyList libmspub::MSPUBCollector::getParaStyleProps(const ParagraphStyle &style, boost::optional<unsigned> defaultParaStyleIndex) const
{
ParagraphStyle _nothing;
- const ParagraphStyle &defaultStyle = defaultParaStyleIndex.is_initialized() && defaultParaStyleIndex.get() < m_defaultParaStyles.size() ? m_defaultParaStyles[defaultParaStyleIndex.get()] : _nothing;
+ const ParagraphStyle &defaultStyle = !!defaultParaStyleIndex && defaultParaStyleIndex.get() < m_defaultParaStyles.size() ? m_defaultParaStyles[defaultParaStyleIndex.get()] : _nothing;
WPXPropertyList ret;
Alignment align = style.m_align.get_value_or(
defaultStyle.m_align.get_value_or(LEFT));
@@ -1199,7 +1199,7 @@ WPXPropertyList libmspub::MSPUBCollector::getParaStyleProps(const ParagraphStyle
WPXPropertyList libmspub::MSPUBCollector::getCharStyleProps(const CharacterStyle &style, boost::optional<unsigned> defaultCharStyleIndex) const
{
CharacterStyle _nothing = CharacterStyle(false, false, false);
- if (!defaultCharStyleIndex.is_initialized())
+ if (!defaultCharStyleIndex)
{
defaultCharStyleIndex = 0;
}
@@ -1217,11 +1217,11 @@ WPXPropertyList libmspub::MSPUBCollector::getCharStyleProps(const CharacterStyle
{
ret.insert("style:text-underline-type", "single");
}
- if (style.textSizeInPt.is_initialized())
+ if (!!style.textSizeInPt)
{
ret.insert("fo:font-size", style.textSizeInPt.get() / POINTS_IN_INCH);
}
- else if (defaultCharStyle.textSizeInPt.is_initialized())
+ else if (!!defaultCharStyle.textSizeInPt)
{
ret.insert("fo:font-size", defaultCharStyle.textSizeInPt.get()
/ POINTS_IN_INCH);
@@ -1238,7 +1238,7 @@ WPXPropertyList libmspub::MSPUBCollector::getCharStyleProps(const CharacterStyle
{
ret.insert("fo:color", getColorString(Color(0, 0, 0))); // default color is black
}
- if (style.fontIndex.is_initialized() &&
+ if (!!style.fontIndex &&
style.fontIndex.get() < m_fonts.size())
{
WPXString str;
@@ -1246,7 +1246,7 @@ WPXPropertyList libmspub::MSPUBCollector::getCharStyleProps(const CharacterStyle
getCalculatedEncoding());
ret.insert("style:font-name", str);
}
- else if (defaultCharStyle.fontIndex.is_initialized() &&
+ else if (!!defaultCharStyle.fontIndex &&
defaultCharStyle.fontIndex.get() < m_fonts.size())
{
WPXString str;
@@ -1336,7 +1336,7 @@ void libmspub::MSPUBCollector::writePage(unsigned pageSeqNum) const
{
m_painter->startGraphics(pageProps);
boost::optional<unsigned> masterSeqNum = getMasterPageSeqNum(pageSeqNum);
- bool hasMaster = masterSeqNum.is_initialized();
+ bool hasMaster = !!masterSeqNum;
if (hasMaster)
{
writePageBackground(masterSeqNum.get());
diff --git a/src/lib/MSPUBParser.cpp b/src/lib/MSPUBParser.cpp
index 50334d3..412dc5f 100644
--- a/src/lib/MSPUBParser.cpp
+++ b/src/lib/MSPUBParser.cpp
@@ -358,7 +358,7 @@ bool libmspub::MSPUBParser::parseContents(WPXInputStream *input)
{
m_contentChunks.back().end = trailerPart.dataOffset + trailerPart.dataLength;
}
- if (!m_documentChunkIndex.is_initialized())
+ if (!m_documentChunkIndex)
{
return false;
}
@@ -504,7 +504,7 @@ bool libmspub::MSPUBParser::parseFontChunk(
eotOffset = subSubInfo.dataOffset;
}
}
- if (name.is_initialized() && eotOffset.is_initialized())
+ if (!!name && !!eotOffset)
{
input->seek(eotOffset.get(), WPX_SEEK_SET);
MSPUBBlockInfo eotRecord = parseBlock(input, true);
@@ -690,8 +690,7 @@ bool libmspub::MSPUBParser::parseShape(WPXInputStream *input,
rowcolArrayOffset = info.dataOffset;
}
}
- if (cellsSeqNum.is_initialized() && numRows.is_initialized() &&
- numCols.is_initialized() && rowcolArrayOffset.is_initialized())
+ if (!!cellsSeqNum && !!numRows && !!numCols && !!rowcolArrayOffset)
{
unsigned nr = numRows.get();
unsigned nc = numCols.get();
@@ -749,7 +748,7 @@ bool libmspub::MSPUBParser::parseShape(WPXInputStream *input,
break;
}
}
- if (!index.is_initialized())
+ if (!index)
{
MSPUB_DEBUG_MSG(("WARNING: Couldn't find cells of seqnum %u corresponding to table of seqnum %d.\n",
csn, chunk.seqNum));
@@ -1511,7 +1510,7 @@ void libmspub::MSPUBParser::parseEscherShape(WPXInputStream *input, const Escher
{
maybe_tertiaryFoptValues = extractEscherValues(input, cTertiaryFopt);
}
- if (maybe_tertiaryFoptValues.is_initialized())
+ if (!!maybe_tertiaryFoptValues)
{
const std::map<unsigned short, unsigned> &tertiaryFoptValues =
maybe_tertiaryFoptValues.get();
@@ -1567,7 +1566,7 @@ void libmspub::MSPUBParser::parseEscherShape(WPXInputStream *input, const Escher
}
else
{
- if (maybe_tertiaryFoptValues.is_initialized())
+ if (!!maybe_tertiaryFoptValues)
{
std::map<unsigned short, unsigned> &tertiaryFoptValues =
maybe_tertiaryFoptValues.get();
@@ -1771,9 +1770,9 @@ void libmspub::MSPUBParser::parseEscherShape(WPXInputStream *input, const Escher
if (!wrapVertexData.empty())
{
std::vector<libmspub::Vertex> ret = parseVertices(wrapVertexData);
- m_collector->setShapeClipPath(*shapeSeqNum, ret);
+ m_collector->setShapeClipPath(*shapeSeqNum, ret);
MSPUB_DEBUG_MSG(("Current Escher shape has wrap Path\n"));
- }
+ }
}
if (foundAnchor)
{
diff --git a/src/lib/MSPUBParser2k.cpp b/src/lib/MSPUBParser2k.cpp
index 04fda00..f9ecd9d 100644
--- a/src/lib/MSPUBParser2k.cpp
+++ b/src/lib/MSPUBParser2k.cpp
@@ -464,7 +464,7 @@ bool libmspub::MSPUBParser2k::parseContents(WPXInputStream *input)
bool libmspub::MSPUBParser2k::parseDocument(WPXInputStream *input)
{
- if (m_documentChunkIndex.is_initialized())
+ if (!!m_documentChunkIndex)
{
input->seek(m_contentChunks[m_documentChunkIndex.get()].offset, WPX_SEEK_SET);
input->seek(0x14, WPX_SEEK_CUR);
diff --git a/src/lib/MSPUBParser97.cpp b/src/lib/MSPUBParser97.cpp
index b2bd872..27c0e15 100644
--- a/src/lib/MSPUBParser97.cpp
+++ b/src/lib/MSPUBParser97.cpp
@@ -66,7 +66,7 @@ bool libmspub::MSPUBParser97::parse()
bool libmspub::MSPUBParser97::parseDocument(WPXInputStream *input)
{
- if (m_documentChunkIndex.is_initialized())
+ if (!!m_documentChunkIndex)
{
input->seek(m_contentChunks[m_documentChunkIndex.get()].offset + 0x12, WPX_SEEK_SET);
unsigned short coordinateSystemMark = readU16(input);
diff --git a/src/lib/PolygonUtils.cpp b/src/lib/PolygonUtils.cpp
index df72a16..29baf5a 100644
--- a/src/lib/PolygonUtils.cpp
+++ b/src/lib/PolygonUtils.cpp
@@ -6030,9 +6030,9 @@ void libmspub::writeCustomShape(ShapeType shapeType, WPXPropertyList &graphicsPr
bool modifier = cmd.m_command == ELLIPTICALQUADRANTX ? true : false;
const Vertex &curr = shape->mp_vertices[vertexIndex];
Vector2D curr2D(x + scaleX * getSpecialIfNecessary(calculator, curr.m_x), y + scaleY * getSpecialIfNecessary(calculator, curr.m_y));
- if (lastPoint.is_initialized())
+ if (!!lastPoint)
{
- if (!pathBegin.is_initialized())
+ if (!pathBegin)
{
pathBegin = curr2D;
}
@@ -6166,7 +6166,7 @@ void libmspub::writeCustomShape(ShapeType shapeType, WPXPropertyList &graphicsPr
getRayEllipseIntersection(startX, startY, rx, ry, cx, cy, startX, startY);
getRayEllipseIntersection(endX, endY, rx, ry, cx, cy, endX, endY);
Vector2D start2D(startX, startY);
- if (!pathBegin.is_initialized())
+ if (!pathBegin)
{
pathBegin = start2D;
}
@@ -6225,7 +6225,7 @@ void libmspub::writeCustomShape(ShapeType shapeType, WPXPropertyList &graphicsPr
WPXPropertyList moveVertex;
Vector2D start(cx + rx * cos(startAngle * M_PI / 180),
cy + ry * sin(startAngle * M_PI / 180));
- if (!pathBegin.is_initialized())
+ if (!pathBegin)
{
pathBegin = start;
}
@@ -6328,7 +6328,7 @@ void libmspub::writeCustomShape(ShapeType shapeType, WPXPropertyList &graphicsPr
case CLOSESUBPATH:
{
MSPUB_DEBUG_MSG(("CLOSESUBPATH\n"));
- if (!pathBegin.is_initialized())
+ if (!pathBegin)
{
MSPUB_DEBUG_MSG(("Tried to close a subpath that hadn't yet begun!\n"));
}
@@ -6352,7 +6352,7 @@ void libmspub::writeCustomShape(ShapeType shapeType, WPXPropertyList &graphicsPr
//intentionally no break
case ENDSUBPATH:
MSPUB_DEBUG_MSG(("ENDSUBPATH\n"));
- if (closeEverything && pathBegin.is_initialized())
+ if (closeEverything && !!pathBegin)
{
WPXPropertyList end;
end.insert("libwpg:path-action", "Z");
@@ -6373,7 +6373,7 @@ void libmspub::writeCustomShape(ShapeType shapeType, WPXPropertyList &graphicsPr
}
if (hasUnclosedElements && closeEverything)
{
- if (pathBegin.is_initialized())
+ if (!!pathBegin)
{
WPXPropertyList end;
end.insert("libwpg:path-action", "Z");
diff --git a/src/lib/ShapeInfo.h b/src/lib/ShapeInfo.h
index 9bbac5c..1604ee5 100644
--- a/src/lib/ShapeInfo.h
+++ b/src/lib/ShapeInfo.h
@@ -94,11 +94,11 @@ struct ShapeInfo
}
boost::shared_ptr<const CustomShape> getCustomShape() const
{
- if (m_customShape.is_initialized())
+ if (!!m_customShape)
{
return getFromDynamicCustomShape(m_customShape.get());
}
- if (m_cropType.is_initialized())
+ if (!!m_cropType)
{
return boost::shared_ptr<const CustomShape>(
libmspub::getCustomShape(m_cropType.get()),
commit 7cde4c70fdc966a333fe8ddc1c6c61ae759dc56c
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date: Tue Apr 16 09:27:09 2013 +0200
Revert "Added output of the dash style value as libmspub:dashstyle property"
The dashes are already handled! Reading before coding!
This reverts commit 2b840822cc91f28a8b8d5c0b1b40ddf039778f68.
diff --git a/src/lib/MSPUBCollector.cpp b/src/lib/MSPUBCollector.cpp
index 032908b..36f51ca 100644
--- a/src/lib/MSPUBCollector.cpp
+++ b/src/lib/MSPUBCollector.cpp
@@ -760,12 +760,6 @@ boost::function<void(void)> libmspub::MSPUBCollector::paintShape(const ShapeInfo
graphicsProps.insert(length.cstr(), dash.m_dots[i].m_length.get(), WPX_INCH);
}
}
- if (info.m_dashStyle.is_initialized())
- {
- WPXString dst;
- dst.sprintf("%d", info.m_dashStyle.get());
- graphicsProps.insert("libmspub:dashstyle", dst);
- }
}
else
{
@@ -1107,10 +1101,9 @@ void libmspub::MSPUBCollector::setShapeImgIndex(unsigned seqNum, unsigned index)
m_shapeInfosBySeqNum[seqNum].m_imgIndex = index;
}
-void libmspub::MSPUBCollector::setShapeDash(unsigned seqNum, unsigned dashStyle, const Dash &dash)
+void libmspub::MSPUBCollector::setShapeDash(unsigned seqNum, const Dash &dash)
{
m_shapeInfosBySeqNum[seqNum].m_dash = dash;
- m_shapeInfosBySeqNum[seqNum].m_dashStyle = dashStyle;
}
void libmspub::MSPUBCollector::setShapeFill(unsigned seqNum, boost::shared_ptr<Fill> fill, bool skipIfNotBg)
diff --git a/src/lib/MSPUBCollector.h b/src/lib/MSPUBCollector.h
index e23ba5e..5755043 100644
--- a/src/lib/MSPUBCollector.h
+++ b/src/lib/MSPUBCollector.h
@@ -96,7 +96,7 @@ public:
void setShapeCoordinatesInEmu(unsigned seqNum, int xs, int ys, int xe, int ye);
void setShapeImgIndex(unsigned seqNum, unsigned index);
void setShapeFill(unsigned seqNum, boost::shared_ptr<Fill> fill, bool skipIfNotBg);
- void setShapeDash(unsigned seqNum, unsigned dashStyle, const Dash &dash);
+ void setShapeDash(unsigned seqNum, const Dash &dash);
void setAdjustValue(unsigned seqNum, unsigned index, int adjust);
void setShapeRotation(unsigned seqNum, double rotation);
void setShapeFlip(unsigned, bool, bool);
diff --git a/src/lib/MSPUBParser.cpp b/src/lib/MSPUBParser.cpp
index fd5dea1..50334d3 100644
--- a/src/lib/MSPUBParser.cpp
+++ b/src/lib/MSPUBParser.cpp
@@ -1679,7 +1679,7 @@ void libmspub::MSPUBParser::parseEscherShape(WPXInputStream *input, const Escher
}
if (ptr_lineDashing)
{
- m_collector->setShapeDash(*shapeSeqNum, *ptr_lineDashing, getDash(
+ m_collector->setShapeDash(*shapeSeqNum, getDash(
static_cast<MSPUBDashStyle>(*ptr_lineDashing), lineWidth,
dotStyle));
}
@@ -1771,9 +1771,9 @@ void libmspub::MSPUBParser::parseEscherShape(WPXInputStream *input, const Escher
if (!wrapVertexData.empty())
{
std::vector<libmspub::Vertex> ret = parseVertices(wrapVertexData);
- m_collector->setShapeClipPath(*shapeSeqNum, ret);
+ m_collector->setShapeClipPath(*shapeSeqNum, ret);
MSPUB_DEBUG_MSG(("Current Escher shape has wrap Path\n"));
- }
+ }
}
if (foundAnchor)
{
diff --git a/src/lib/ShapeInfo.h b/src/lib/ShapeInfo.h
index fd4eaad..9bbac5c 100644
--- a/src/lib/ShapeInfo.h
+++ b/src/lib/ShapeInfo.h
@@ -70,7 +70,6 @@ struct ShapeInfo
bool m_stretchBorderArt;
boost::optional<ColorReference> m_lineBackColor;
boost::optional<Dash> m_dash;
- boost::optional<unsigned> m_dashStyle;
boost::optional<TableInfo> m_tableInfo;
boost::optional<std::vector<unsigned> > m_tableCellTextEnds;
boost::optional<unsigned> m_numColumns;
@@ -87,7 +86,7 @@ struct ShapeInfo
m_textId(), m_adjustValuesByIndex(), m_adjustValues(),
m_rotation(), m_flips(), m_margins(), m_borderPosition(),
m_fill(), m_customShape(), m_stretchBorderArt(false),
- m_lineBackColor(), m_dash(), m_dashStyle(0), m_tableInfo(),
+ m_lineBackColor(), m_dash(), m_tableInfo(),
m_tableCellTextEnds(), m_numColumns(),
m_columnSpacing(0), m_beginArrow(), m_endArrow(),
m_verticalAlign(), m_pictureRecolor(), m_shadow(), m_innerRotation(), m_clipPath()
More information about the Libreoffice-commits
mailing list