diff --git a/extra/ui/gadgets/buttons/buttons.factor b/extra/ui/gadgets/buttons/buttons.factor index bd5591fa32..a9142449e5 100644 --- a/extra/ui/gadgets/buttons/buttons.factor +++ b/extra/ui/gadgets/buttons/buttons.factor @@ -95,6 +95,18 @@ repeat-button H{ repeat-button construct-empty [ >r r> set-gadget-delegate ] keep ; +TUPLE: checkmark-paint color ; + +C: checkmark-paint + +M: checkmark-paint draw-interior + checkmark-paint-color gl-color + origin get [ + rect-dim + { 0 0 } over gl-line + dup { 0 1 } v* swap { 1 0 } v* gl-line + ] with-translation ; + : checkmark-theme ( gadget -- ) f f @@ -125,6 +137,18 @@ repeat-button H{ [ set-button-selected? ] dup checkbox-theme ; +TUPLE: radio-paint color ; + +C: radio-paint + +M: radio-paint draw-interior + radio-paint-color gl-color + origin get { 4 4 } v+ swap rect-dim { 8 8 } v- 12 gl-fill-circle ; + +M: radio-paint draw-boundary + radio-paint-color gl-color + origin get { 1 1 } v+ swap rect-dim { 2 2 } v- 12 gl-circle ; + : radio-knob-theme ( gadget -- ) f f diff --git a/extra/ui/render/render.factor b/extra/ui/render/render.factor index 2c2f84c067..54615b08a2 100644 --- a/extra/ui/render/render.factor +++ b/extra/ui/render/render.factor @@ -140,32 +140,6 @@ M: polygon draw-interior >r r> over set-rect-dim [ set-gadget-interior ] keep ; -! Checkbox and radio button pens -TUPLE: checkmark-paint color ; - -C: checkmark-paint - -M: checkmark-paint draw-interior - checkmark-paint-color gl-color - origin get [ - rect-dim - { 0 0 } over gl-line - dup { 0 1 } v* swap { 1 0 } v* gl-line - ] with-translation ; - - -TUPLE: radio-paint color ; - -C: radio-paint - -M: radio-paint draw-interior - radio-paint-color gl-color - origin get { 4 4 } v+ swap rect-dim { 8 8 } v- 12 gl-fill-circle ; - -M: radio-paint draw-boundary - radio-paint-color gl-color - origin get { 1 1 } v+ swap rect-dim { 2 2 } v- 12 gl-circle ; - ! Font rendering SYMBOL: font-renderer