summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxuri <xuri.me@gmail.com>2022-08-06 15:23:03 +0800
committerxuri <xuri.me@gmail.com>2022-08-06 15:23:03 +0800
commite07dac5c2e308c952c8fdec5e6ad7089ff432ccf (patch)
treec53cdb48ea4117bd6114a54016497038586565eb
parent4a029f7e3602ac48b6fbf410b86adac2af64983a (diff)
Add new exported `ColorMappingType` used for color transformation
Using `ColorMappingType` color transformation types enumeration for tab color index, ref #1285
-rw-r--r--sheetpr.go21
-rw-r--r--sheetpr_test.go6
-rw-r--r--xmlDrawing.go20
3 files changed, 25 insertions, 22 deletions
diff --git a/sheetpr.go b/sheetpr.go
index cc4e4a9..0e3cb9b 100644
--- a/sheetpr.go
+++ b/sheetpr.go
@@ -47,23 +47,6 @@ type (
OutlineSummaryBelow bool
)
-const (
- TabColorThemeLight1 int = iota // Inverted compared to the spec because that's how Excel maps them
- TabColorThemeDark1
- TabColorThemeLight2
- TabColorThemeDark2
- TabColorThemeAccent1
- TabColorThemeAccent2
- TabColorThemeAccent3
- TabColorThemeAccent4
- TabColorThemeAccent5
- TabColorThemeAccent6
- TabColorThemeHyperlink
- TabColorThemeFollowedHyperlink
-
- TabColorUnsetValue int = -1
-)
-
// setSheetPrOption implements the SheetPrOption interface.
func (o OutlineSummaryBelow) setSheetPrOption(pr *xlsxSheetPr) {
if pr.OutlinePr == nil {
@@ -165,7 +148,7 @@ func (o TabColorIndexed) setSheetPrOption(pr *xlsxSheetPr) {
// TabColor Indexed. Defaults to -1 if no indexed has been set.
func (o *TabColorIndexed) getSheetPrOption(pr *xlsxSheetPr) {
if pr == nil || pr.TabColor == nil {
- *o = TabColorIndexed(TabColorUnsetValue)
+ *o = TabColorIndexed(ColorMappingTypeUnset)
return
}
*o = TabColorIndexed(pr.TabColor.Indexed)
@@ -206,7 +189,7 @@ func (o TabColorTheme) setSheetPrOption(pr *xlsxSheetPr) {
// TabColor Theme. Defaults to -1 if no theme has been set.
func (o *TabColorTheme) getSheetPrOption(pr *xlsxSheetPr) {
if pr == nil || pr.TabColor == nil {
- *o = TabColorTheme(TabColorUnsetValue)
+ *o = TabColorTheme(ColorMappingTypeUnset)
return
}
*o = TabColorTheme(pr.TabColor.Theme)
diff --git a/sheetpr_test.go b/sheetpr_test.go
index 000b33a..65ab196 100644
--- a/sheetpr_test.go
+++ b/sheetpr_test.go
@@ -15,7 +15,7 @@ var _ = []SheetPrOption{
FitToPage(true),
TabColorIndexed(42),
TabColorRGB("#FFFF00"),
- TabColorTheme(TabColorThemeLight2),
+ TabColorTheme(ColorMappingTypeLight2),
TabColorTint(0.5),
AutoPageBreaks(true),
OutlineSummaryBelow(true),
@@ -45,7 +45,7 @@ func ExampleFile_SetSheetPrOptions() {
FitToPage(true),
TabColorIndexed(42),
TabColorRGB("#FFFF00"),
- TabColorTheme(TabColorThemeLight2),
+ TabColorTheme(ColorMappingTypeLight2),
TabColorTint(0.5),
AutoPageBreaks(true),
OutlineSummaryBelow(false),
@@ -124,7 +124,7 @@ func TestSheetPrOptions(t *testing.T) {
{new(FitToPage), FitToPage(true)},
{new(TabColorIndexed), TabColorIndexed(42)},
{new(TabColorRGB), TabColorRGB("FFFF00")},
- {new(TabColorTheme), TabColorTheme(TabColorThemeLight2)},
+ {new(TabColorTheme), TabColorTheme(ColorMappingTypeLight2)},
{new(TabColorTint), TabColorTint(0.5)},
{new(AutoPageBreaks), AutoPageBreaks(true)},
{new(OutlineSummaryBelow), OutlineSummaryBelow(false)},
diff --git a/xmlDrawing.go b/xmlDrawing.go
index 3e54b72..8c3d734 100644
--- a/xmlDrawing.go
+++ b/xmlDrawing.go
@@ -120,6 +120,26 @@ const (
pivotTableVersion = 3
)
+// ColorMappingType is the type of color transformation.
+type ColorMappingType byte
+
+// Color transformation types enumeration.
+const (
+ ColorMappingTypeLight1 ColorMappingType = iota
+ ColorMappingTypeDark1
+ ColorMappingTypeLight2
+ ColorMappingTypeDark2
+ ColorMappingTypeAccent1
+ ColorMappingTypeAccent2
+ ColorMappingTypeAccent3
+ ColorMappingTypeAccent4
+ ColorMappingTypeAccent5
+ ColorMappingTypeAccent6
+ ColorMappingTypeHyperlink
+ ColorMappingTypeFollowedHyperlink
+ ColorMappingTypeUnset int = -1
+)
+
// supportedImageTypes defined supported image types.
var supportedImageTypes = map[string]string{".gif": ".gif", ".jpg": ".jpeg", ".jpeg": ".jpeg", ".png": ".png", ".tif": ".tiff", ".tiff": ".tiff", ".emf": ".emf", ".wmf": ".wmf"}