diff options
| author | trustable-code <krauter.simon@arcor.de> | 2018-12-06 19:35:45 +0100 |
|---|---|---|
| committer | trustable-code <krauter.simon@arcor.de> | 2018-12-06 19:35:45 +0100 |
| commit | 3a3d374837dc04ab6c67794fe09798489beea9c4 (patch) | |
| tree | 36f32d74518daac9179c9eeccf8448fb257df5a1 | |
| parent | d5b65cdbe3aba910badc1adf2358447c4ee0e0c7 (diff) | |
| download | NiGui-3a3d374837dc04ab6c67794fe09798489beea9c4.tar.gz NiGui-3a3d374837dc04ab6c67794fe09798489beea9c4.zip | |
Add Canvas lineWidth property
| -rwxr-xr-x | src/nigui.nim | 9 | ||||
| -rwxr-xr-x | src/nigui/private/gtk3/platform_impl.nim | 3 | ||||
| -rwxr-xr-x | src/nigui/private/windows/platform_impl.nim | 4 |
3 files changed, 13 insertions, 3 deletions
diff --git a/src/nigui.nim b/src/nigui.nim index 500eb89..e8878f7 100755 --- a/src/nigui.nim +++ b/src/nigui.nim @@ -210,6 +210,7 @@ type fFontSize: float fTextColor: Color fLineColor: Color + fLineWidth: float fAreaColor: Color Image* = ref object of RootObj @@ -446,6 +447,9 @@ method `textColor=`*(canvas: Canvas, color: Color) method lineColor*(canvas: Canvas): Color method `lineColor=`*(canvas: Canvas, color: Color) +method lineWidth*(canvas: Canvas): float +method `lineWidth=`*(canvas: Canvas, width: float) + method areaColor*(canvas: Canvas): Color method `areaColor=`*(canvas: Canvas, color: Color) @@ -1066,6 +1070,7 @@ proc internalAllKeysUp() = proc newCanvas(control: Control = nil): CanvasImpl = result = new CanvasImpl result.fLineColor = rgb(0, 0, 0) + result.fLineWidth = 1 result.fAreaColor = rgb(0, 0, 0) if control == nil: result.fFontFamily = app.defaultFontFamily @@ -1101,6 +1106,10 @@ method lineColor(canvas: Canvas): Color = canvas.fLineColor method `lineColor=`(canvas: Canvas, color: Color) = canvas.fLineColor = color +method lineWidth(canvas: Canvas): float = canvas.fLineWidth + +method `lineWidth=`(canvas: Canvas, width: float) = canvas.fLineWidth = width + method areaColor(canvas: Canvas): Color = canvas.fAreaColor method `areaColor=`(canvas: Canvas, color: Color) = canvas.fAreaColor = color diff --git a/src/nigui/private/gtk3/platform_impl.nim b/src/nigui/private/gtk3/platform_impl.nim index 239ce59..1a94e70 100755 --- a/src/nigui/private/gtk3/platform_impl.nim +++ b/src/nigui/private/gtk3/platform_impl.nim @@ -451,6 +451,7 @@ method drawLine(canvas: Canvas, x1, y1, x2, y2: int) = gdk_cairo_set_source_rgba(cr, rgba) cairo_move_to(cr, x1.float, y1.float) cairo_line_to(cr, x2.float, y2.float) + cairo_set_line_width(cr, canvas.lineWidth) cairo_stroke(cr) method drawRectArea(canvas: Canvas, x, y, width, height: int) = @@ -471,7 +472,7 @@ method drawRectOutline(canvas: Canvas, x, y, width, height: int) = canvas.lineColor.pColorToGdkRGBA(rgba) gdk_cairo_set_source_rgba(cr, rgba) cairo_rectangle(cr, x.float, y.float, width.float, height.float) - cairo_set_line_width(cr, 1) + cairo_set_line_width(cr, canvas.lineWidth) cairo_stroke(cr) method drawImage(canvas: Canvas, image: Image, x, y = 0, width, height = -1) = diff --git a/src/nigui/private/windows/platform_impl.nim b/src/nigui/private/windows/platform_impl.nim index 4b60e1e..6a051c1 100755 --- a/src/nigui/private/windows/platform_impl.nim +++ b/src/nigui/private/windows/platform_impl.nim @@ -600,7 +600,7 @@ method drawLine(canvas: Canvas, x1, y1, x2, y2: int) = if canvasImpl.fGraphics == nil: raiseError("Canvas is not in drawing state.") if canvasImpl.fLinePen == nil: - pCheckGdiplusStatus(GdipCreatePen1(canvas.lineColor.pColorToARGB(), 1, UnitPixel, canvasImpl.fLinePen)) + pCheckGdiplusStatus(GdipCreatePen1(canvas.lineColor.pColorToARGB(), canvasImpl.lineWidth, UnitPixel, canvasImpl.fLinePen)) pCheckGdiplusStatus(GdipDrawLineI(canvasImpl.fGraphics, canvasImpl.fLinePen, x1.int32, y1.int32, x2.int32, y2.int32)) method drawRectArea(canvas: Canvas, x, y, width, height: int) = @@ -616,7 +616,7 @@ method drawRectOutline(canvas: Canvas, x, y, width, height: int) = if canvasImpl.fGraphics == nil: raiseError("Canvas is not in drawing state.") var pen: pointer - pCheckGdiplusStatus(GdipCreatePen1(canvas.lineColor.pColorToARGB(), 1, UnitPixel, pen)) + pCheckGdiplusStatus(GdipCreatePen1(canvas.lineColor.pColorToARGB(), canvasImpl.lineWidth, UnitPixel, pen)) pCheckGdiplusStatus(GdipDrawRectangleI(canvasImpl.fGraphics, pen, x.int32, y.int32, width.int32, height.int32)) method drawImage(canvas: Canvas, image: Image, x, y = 0, width, height = -1) = |
