From d05c8268ba15ab1417fa99034be819c3e7af7127 Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Thu, 22 May 2025 21:22:20 +0000 Subject: [PATCH] FPSpreadsheet: Adjust patterns and major/minor grid linestyles to be similar to xlsx and ods. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@9756 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../other/chart/barchart_write_demo.lpr | 2 +- .../fpspreadsheet/source/common/fpschart.pas | 4 +-- .../source/common/fpspatterns.pas | 27 ++++++++++++++----- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/components/fpspreadsheet/examples/other/chart/barchart_write_demo.lpr b/components/fpspreadsheet/examples/other/chart/barchart_write_demo.lpr index 40a2bc114..5f29a6ec4 100644 --- a/components/fpspreadsheet/examples/other/chart/barchart_write_demo.lpr +++ b/components/fpspreadsheet/examples/other/chart/barchart_write_demo.lpr @@ -79,7 +79,7 @@ begin sheet.WriteText( 9, 0, 'Physics'); sheet.WriteNumber( 9, 1, 12); sheet.WriteNumber( 9, 2, 19); sheet.WriteText(10, 0, 'Computer'); sheet.WriteNumber(10, 1, 16); sheet.WriteNumber(10, 2, 18); - // Create chart: left/top in cell D4, 160 mm x 100 mm + // Create chart: 160 mm x 100 mm, left/top corner in cell D4 ch := sheet.AddChart(160, 100, 2, 3); // Chart properties diff --git a/components/fpspreadsheet/source/common/fpschart.pas b/components/fpspreadsheet/source/common/fpschart.pas index bfcc46de8..3580b01ed 100644 --- a/components/fpspreadsheet/source/common/fpschart.pas +++ b/components/fpspreadsheet/source/common/fpschart.pas @@ -1982,10 +1982,10 @@ begin FMinorTicks := []; FMajorGridLines := TsChartLine.Create; - FMajorGridLines.SelectSolidLine(ChartColor(scSilver)); + FMajorGridLines.SelectSolidLine(ChartColor($b3b3b3)); FMinorGridLines := TsChartLine.Create; - FMinorGridLines.SelectPatternLine(clsDash, ChartColor(scSilver)); + FMinorGridLines.SelectSolidLine(ChartColor($dddddd)); FLogarithmic := false; FLogBase := 10.0; diff --git a/components/fpspreadsheet/source/common/fpspatterns.pas b/components/fpspreadsheet/source/common/fpspatterns.pas index 1aa984a1f..a727f9464 100644 --- a/components/fpspreadsheet/source/common/fpspatterns.pas +++ b/components/fpspreadsheet/source/common/fpspatterns.pas @@ -814,19 +814,32 @@ begin // no line AddPattern(GetRawLinePatternName(clsNoLine), 0, 0, 0, 0, 0, cluMillimeters); // fine dots - AddPattern(GetRawLinePatternName(clsFineDot), 120, 1, 0, 0, 120, cluPercentage); + AddPattern(GetRawLinePatternName(clsFineDot), 120, 1, 0, 0, 160, cluPercentage); // dotted - AddPattern(GetRawLinePatternName(clsDot), 120, 1, 0, 0, 500, cluPercentage); + AddPattern(GetRawLinePatternName(clsDot), 120, 1, 0, 0, 340, cluPercentage); // dashed (- - - - ) - AddPattern(GetRawLinePatternName(clsDash), 800, 1, 0, 0, 600, cluPercentage); + AddPattern(GetRawLinePatternName(clsDash), 400, 1, 0, 0, 340, cluPercentage); // dash-dot (- . - . - ) - AddPattern(GetRawLinePatternName(clsDashDot), 800, 1, 120, 1, 600, cluPercentage); + AddPattern(GetRawLinePatternName(clsDashDot), 400, 1, 90, 1, 340, cluPercentage); // long dash (-- -- --) - AddPattern(GetRawLinePatternName(clsLongDash), 2400, 1, 0, 0, 600, cluPercentage); + AddPattern(GetRawLinePatternName(clsLongDash), 820, 1, 0, 0, 340, cluPercentage); // long dash-dot (-- . -- . -- . ) - AddPattern(GetRawLinePatternName(clsLongDashDot), 2400, 1, 120, 1, 600, cluPercentage); + AddPattern(GetRawLinePatternName(clsLongDashDot), 820, 1, 90, 1, 340, cluPercentage); // long dash-dot-dot (-- . . -- . . ) - AddPattern(GetRawLinePatternName(clsLongDashDotDot), 2400, 1, 120, 2, 600, cluPercentage); + AddPattern(GetRawLinePatternName(clsLongDashDotDot), 820, 1, 90, 2, 340, cluPercentage); + + (* + // dashed (- - - - ) + AddPattern(GetRawLinePatternName(clsDash), 600, 1, 0, 0, 500, cluPercentage); + // dash-dot (- . - . - ) + AddPattern(GetRawLinePatternName(clsDashDot), 600, 1, 120, 1, 500, cluPercentage); + // long dash (-- -- --) + AddPattern(GetRawLinePatternName(clsLongDash), 1200, 1, 0, 0, 600, cluPercentage); + // long dash-dot (-- . -- . -- . ) + AddPattern(GetRawLinePatternName(clsLongDashDot), 1200, 1, 120, 1, 600, cluPercentage); + // long dash-dot-dot (-- . . -- . . ) + AddPattern(GetRawLinePatternName(clsLongDashDotDot), 1200, 1, 120, 2, 600, cluPercentage); + *) end; function TsRawLinePatternList.AddOrReplace(APattern: TsRawLinePattern): Integer;