summaryrefslogtreecommitdiff
path: root/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_line_style.cxx
diff options
context:
space:
mode:
authormaxim nikonov <maxim.nikonov@hqo.co>2026-02-05 15:21:34 +0500
committermaxim nikonov <maxim.nikonov@hqo.co>2026-02-05 15:21:34 +0500
commitdb214d1145e46d527a46d1fc2519548d2c4d23f1 (patch)
treecf0fd9922e4d54f6beb63888f9b28c8e2a787bdf /src/drivers/Quartz/Fl_Quartz_Graphics_Driver_line_style.cxx
parent75fc94d6c71fe686f6dde5b41ad91cba2f6bdd6f (diff)
wip: fork
Diffstat (limited to 'src/drivers/Quartz/Fl_Quartz_Graphics_Driver_line_style.cxx')
-rw-r--r--src/drivers/Quartz/Fl_Quartz_Graphics_Driver_line_style.cxx83
1 files changed, 0 insertions, 83 deletions
diff --git a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_line_style.cxx b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_line_style.cxx
deleted file mode 100644
index 6a63ae483..000000000
--- a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_line_style.cxx
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// Line style code for the Fast Light Tool Kit (FLTK).
-//
-// Copyright 1998-2018 by Bill Spitzak and others.
-//
-// This library is free software. Distribution and use rights are outlined in
-// the file "COPYING" which should have been included with this file. If this
-// file is missing or damaged, see the license at:
-//
-// https://www.fltk.org/COPYING.php
-//
-// Please see the following page on how to report bugs and issues:
-//
-// https://www.fltk.org/bugs.php
-//
-
-#include <FL/fl_draw.H>
-#include <FL/platform.H>
-
-
-/**
- \file quartz_line_style.cxx
- \brief Line style drawing utility hiding different platforms.
-*/
-
-#include "Fl_Quartz_Graphics_Driver.H"
-
-void Fl_Quartz_Graphics_Driver::quartz_restore_line_style() {
- CGContextSetLineWidth(gc_, quartz_line_width_);
- CGContextSetLineCap(gc_, quartz_line_cap_);
- CGContextSetLineJoin(gc_, quartz_line_join_);
- CGContextSetLineDash(gc_, 0, quartz_line_pattern, quartz_line_pattern_size);
-}
-
-void Fl_Quartz_Graphics_Driver::line_style(int style, int width, char* dashes) {
-
- static CGLineCap Cap[4] = { kCGLineCapButt, kCGLineCapButt,
- kCGLineCapRound, kCGLineCapSquare };
- static CGLineJoin Join[4] = { kCGLineJoinMiter, kCGLineJoinMiter,
- kCGLineJoinRound, kCGLineJoinBevel };
- if (width<1) width = 1;
- quartz_line_width_ = (float)width;
- quartz_line_cap_ = Cap[(style>>8)&3];
- // when printing kCGLineCapSquare seems better for solid lines
- if ( Fl_Surface_Device::surface() != Fl_Display_Device::display_device()
- && style == FL_SOLID && dashes == NULL )
- {
- quartz_line_cap_ = kCGLineCapSquare;
- }
- quartz_line_join_ = Join[(style>>12)&3];
- char *d = dashes;
- static CGFloat pattern[16];
- if (d && *d) {
- CGFloat *pDst = pattern;
- while (*d) { *pDst++ = (float)*d++; }
- quartz_line_pattern = pattern;
- quartz_line_pattern_size = (int)(d-dashes);
- } else if (style & 0xff) {
- char dash, dot, gap;
- // adjust lengths to account for cap:
- if (style & 0x200) {
- dash = char(2*width);
- dot = 1;
- gap = char(2*width-1);
- } else {
- dash = char(3*width);
- dot = gap = char(width);
- }
- CGFloat *pDst = pattern;
- switch (style & 0xff) {
- case FL_DASH: *pDst++ = dash; *pDst++ = gap; break;
- case FL_DOT: *pDst++ = dot; *pDst++ = gap; break;
- case FL_DASHDOT: *pDst++ = dash; *pDst++ = gap; *pDst++ = dot; *pDst++ = gap; break;
- case FL_DASHDOTDOT: *pDst++ = dash; *pDst++ = gap; *pDst++ = dot; *pDst++ = gap; *pDst++ = dot; *pDst++ = gap; break;
- }
- quartz_line_pattern_size = (int)(pDst-pattern);
- quartz_line_pattern = pattern;
- } else {
- quartz_line_pattern = 0;
- quartz_line_pattern_size = 0;
- }
- quartz_restore_line_style();
-}