From c9d076ce11dc9996705a26e7dc8d71a537e5f64f Mon Sep 17 00:00:00 2001 From: Vasiliy Tereshkov Date: Mon, 15 Apr 2024 00:04:35 +0400 Subject: [PATCH] Update to latest Umka --- README.md | 4 ++-- umplot.um | 22 +++++++++++----------- umplottest.um | 4 ++-- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 2ce9b5b..79171f0 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ UmPlot: A plotting library for [Umka](https://github.com/vtereshkov/umka-lang) b import "umplot.um" fn main() { - plt := umplot.init(4) + plt := umplot::init(4) for i := 0; i < 4; i++ { plt.series[i].name = sprintf("Sine wave %d", i + 1) @@ -17,7 +17,7 @@ fn main() { } } - plt.series[1].style.kind = umplot.STYLE_SCATTER + plt.series[1].style.kind = .scatter plt.titles.graph = "UmPlot demo" plt.titles.x = "Time (seconds)" diff --git a/umplot.um b/umplot.um index 49d650d..fae1893 100644 --- a/umplot.um +++ b/umplot.um @@ -1,15 +1,15 @@ -const ( - STYLE_LINE* = 1 - STYLE_SCATTER* -) - type ( Point* = struct { x, y: real } + Kind* = enum { + line = 1 + scatter + } + Style* = struct { - kind: int + kind: Kind color: uint32 width: real } @@ -54,7 +54,7 @@ fn (s: ^Series) add*(x, y: real) { s.points = append(s.points, Point{x, y}) } -fn init*(numSeries: int = 1, kind: int = STYLE_LINE): Plot { +fn init*(numSeries: int = 1, kind: Kind = .line): Plot { plt := Plot{series: make([]Series, numSeries)} const getDefaultColors = fn (numColors: int): []uint32 { @@ -77,12 +77,12 @@ fn init*(numSeries: int = 1, kind: int = STYLE_LINE): Plot { for i := 0; i < numSeries; i++ { plt.series[i].name = "" - plt.series[i].style = Style{kind: kind, color: defaultColors[i], width: 3.0} + plt.series[i].style = {kind: kind, color: defaultColors[i], width: 3.0} } - plt.grid = Grid{xNumLines: 5, yNumLines: 5, color: 0xFF505050, fontSize: 12, visible: true, labelled: true} - plt.titles = Titles{x: "", y: "", graph: "", color: plt.grid.color, fontSize: plt.grid.fontSize, visible: true} - plt.legend = Legend{visible: true} + plt.grid = {xNumLines: 5, yNumLines: 5, color: 0xFF505050, fontSize: 12, visible: true, labelled: true} + plt.titles = {x: "", y: "", graph: "", color: plt.grid.color, fontSize: plt.grid.fontSize, visible: true} + plt.legend = {visible: true} return plt } diff --git a/umplottest.um b/umplottest.um index 3b44e84..b066ea4 100644 --- a/umplottest.um +++ b/umplottest.um @@ -1,7 +1,7 @@ import "umplot.um" fn main() { - plt := umplot.init(4) + plt := umplot::init(4) for i := 0; i < 4; i++ { plt.series[i].name = sprintf("Sine wave %d", i + 1) @@ -12,7 +12,7 @@ fn main() { } } - plt.series[1].style.kind = umplot.STYLE_SCATTER + plt.series[1].style.kind = .scatter plt.titles.graph = "UmPlot demo" plt.titles.x = "Time (seconds)"