[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/filters/libmsooxml
From: Lassi Taneli Nieminen <lassniem () gmail ! com>
Date: 2010-10-26 13:15:30
Message-ID: 20101026131530.B5EF4AC897 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1189952 by lassin:
Fixed initial support for preset color in drawingML.
M +79 -10 MsooXmlCommonReaderDrawingMLImpl.h
M +1 -0 MsooXmlCommonReaderDrawingMLMethods.h
--- trunk/koffice/filters/libmsooxml/MsooXmlCommonReaderDrawingMLImpl.h #1189951:1189952
@@ -1404,7 +1404,7 @@
Child elements:
- hslClr (Hue, Saturation, Luminance Color Model) §20.1.2.3.13
- - prstClr (Preset Color) §20.1.2.3.22
+ - [done] prstClr (Preset Color) §20.1.2.3.22
- [done] schemeClr (Scheme Color) §20.1.2.3.29
- [done] scrgbClr (RGB Color Model - Percentage Variant) §20.1.2.3.30
- [done] srgbClr (RGB Color Model - Hex Variant) §20.1.2.3.32
@@ -1425,6 +1425,7 @@
ELSE_TRY_READ_IF(scrgbClr)
ELSE_TRY_READ_IF(sysClr)
ELSE_TRY_READ_IF(srgbClr)
+ ELSE_TRY_READ_IF(prstClr)
//! @todo add ELSE_WRONG_FORMAT
}
}
@@ -1451,7 +1452,7 @@
Child elements:
- hslClr (Hue, Saturation, Luminance Color Model) §20.1.2.3.13
- - prstClr (Preset Color) §20.1.2.3.22
+ - [done] prstClr (Preset Color) §20.1.2.3.22
- [done] schemeClr (Scheme Color) §20.1.2.3.29
- [done] scrgbClr (RGB Color Model - Percentage Variant) §20.1.2.3.30
- [done] srgbClr (RGB Color Model - Hex Variant) §20.1.2.3.32
@@ -1471,6 +1472,7 @@
ELSE_TRY_READ_IF(srgbClr)
ELSE_TRY_READ_IF(sysClr)
ELSE_TRY_READ_IF(scrgbClr)
+ ELSE_TRY_READ_IF(prstClr)
//! @todo add ELSE_WRONG_FORMAT
}
}
@@ -3159,7 +3161,7 @@
Child elements:
- hslClr (Hue, Saturation, Luminance Color Model) §20.1.2.3.13
- - prstClr (Preset Color) §20.1.2.3.22
+ - [done] prstClr (Preset Color) §20.1.2.3.22
- [done] schemeClr (Scheme Color) §20.1.2.3.29
- [done] scrgbClr (RGB Color Model - Percentage Variant) §20.1.2.3.30
- [done] srgbClr (RGB Color Model - Hex Variant) §20.1.2.3.32
@@ -3178,6 +3180,7 @@
ELSE_TRY_READ_IF(scrgbClr)
ELSE_TRY_READ_IF(srgbClr)
ELSE_TRY_READ_IF(sysClr)
+ ELSE_TRY_READ_IF(prstClr)
//! @todo add ELSE_WRONG_FORMAT
}
}
@@ -3232,7 +3235,7 @@
Child elements:
- hslClr (Hue, Saturation, Luminance Color Model) §20.1.2.3.13
- - prstClr (Preset Color) §20.1.2.3.22
+ - [done] prstClr (Preset Color) §20.1.2.3.22
- [done] schemeClr (Scheme Color) §20.1.2.3.29
- [done] scrgbClr (RGB Color Model - Percentage Variant) §20.1.2.3.30
- [done] srgbClr (RGB Color Model - Hex Variant) §20.1.2.3.32
@@ -3252,15 +3255,12 @@
kDebug() << *this;
BREAK_IF_END_OF(CURRENT_EL);
if (isStartElement()) {
- //scheme color
TRY_READ_IF(schemeClr)
-// rgb percentage
ELSE_TRY_READ_IF(scrgbClr)
//TODO hslClr hue, saturation, luminecence color
- //TODO prstClr preset color
ELSE_TRY_READ_IF(srgbClr)
ELSE_TRY_READ_IF(sysClr)
- //TODO stsClr system color
+ ELSE_TRY_READ_IF(prstClr)
//! @todo add ELSE_WRONG_FORMAT
}
}
@@ -3423,7 +3423,7 @@
Child Elements:
- hslClr (Hue, Saturation, Luminance Color Model) §20.1.2.3.13
- - prstClr (Preset Color) §20.1.2.3.22
+ - [done] prstClr (Preset Color) §20.1.2.3.22
- [done] schemeClr (Scheme Color) §20.1.2.3.29
- [done] scrgbClr (RGB Color Model - Percentage Variant) §20.1.2.3.30
- [done] srgbClr (RGB Color Model - Hex Variant) §20.1.2.3.32
@@ -3446,6 +3446,7 @@
ELSE_TRY_READ_IF(srgbClr)
ELSE_TRY_READ_IF(sysClr)
ELSE_TRY_READ_IF(scrgbClr)
+ ELSE_TRY_READ_IF(prstClr)
}
}
READ_EPILOGUE
@@ -4121,6 +4122,73 @@
}
#undef CURRENT_EL
+#define CURRENT_EL prstClr
+//! prstClr (preset color)
+KoFilter::ConversionStatus MSOOXML_CURRENT_CLASS::read_prstClr()
+{
+ READ_PROLOGUE
+ const QXmlStreamAttributes attrs(attributes());
+
+ TRY_READ_ATTR_WITHOUT_NS(val)
+
+ // TODO support all of them..
+ if (!val.isEmpty()) {
+ if (val == "aliceBlue") {
+ m_currentColor = QColor(240, 248, 255);
+ }
+ else if (val == "antiqueWhite") {
+ m_currentColor = QColor(250, 235, 215);
+ }
+ else if (val == "black") {
+ m_currentColor = QColor(0, 0, 0);
+ }
+ else if (val == "blue") {
+ m_currentColor = QColor(0, 0, 215);
+ }
+ else if (val == "green") {
+ m_currentColor = QColor(0, 255, 0);
+ }
+ else if (val == "red") {
+ m_currentColor = QColor(255, 0, 0);
+ }
+ else if (val == "violet") {
+ m_currentColor = QColor(238, 130, 238);
+ }
+ else if (val == "wheat") {
+ m_currentColor = QColor(245, 222, 179);
+ }
+ else if (val == "white") {
+ m_currentColor = QColor(255, 255, 255);
+ }
+ else if (val == "whiteSmoke") {
+ m_currentColor = QColor(245, 245, 245);
+ }
+ else if (val == "yellow") {
+ m_currentColor = QColor(255, 255, 0);
+ }
+ else if (val == "yellowGreen") {
+ m_currentColor = QColor(154, 205, 50);
+ }
+ }
+
+ //TODO: all the color transformations
+ while (true) {
+ readNext();
+ BREAK_IF_END_OF(CURRENT_EL);
+ if (isStartElement()) {
+ TRY_READ_IF(tint)
+ ELSE_TRY_READ_IF(shade)
+ ELSE_TRY_READ_IF(satMod)
+ ELSE_TRY_READ_IF(alpha)
+ }
+ }
+
+ MSOOXML::Utils::modifyColor(m_currentColor, m_currentTint, m_currentShadeLevel, m_currentSatMod);
+
+ READ_EPILOGUE
+}
+
+#undef CURRENT_EL
#define CURRENT_EL sysClr
//! sysClr handler
// SysClr is bit controversial, it is supposed to use
@@ -4478,7 +4546,7 @@
Child elements:
- hslClr (Hue, Saturation, Luminance Color Model) §20.1.2.3.13
- - prstClr (Preset Color) §20.1.2.3.22
+ - [done] prstClr (Preset Color) §20.1.2.3.22
- [done]schemeClr (Scheme Color) §20.1.2.3.29
- [done] scrgbClr (RGB Color Model - Percentage Variant) §20.1.2.3.30
- [done]srgbClr (RGB Color Model - Hex Variant) §20.1.2.3.32
@@ -4500,6 +4568,7 @@
ELSE_TRY_READ_IF(schemeClr)
ELSE_TRY_READ_IF(scrgbClr)
ELSE_TRY_READ_IF(sysClr)
+ ELSE_TRY_READ_IF(prstClr)
}
}
if (m_currentColor.isValid()) {
--- trunk/koffice/filters/libmsooxml/MsooXmlCommonReaderDrawingMLMethods.h #1189951:1189952
@@ -111,6 +111,7 @@
};
KoFilter::ConversionStatus read_noFill(noFillCaller caller);
KoFilter::ConversionStatus read_schemeClr();
+KoFilter::ConversionStatus read_prstClr();
KoFilter::ConversionStatus read_sysClr();
KoFilter::ConversionStatus read_lumMod();
KoFilter::ConversionStatus read_lumOff();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic