@bhbr/minter 0.0.0-stage → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +2 -3
- package/dist/boards/Board.d.ts +138 -0
- package/dist/boards/Board.d.ts.map +1 -0
- package/dist/boards/Board.js +1329 -0
- package/dist/boards/Board.js.map +1 -0
- package/dist/boards/BoardCreator.d.ts +8 -0
- package/dist/boards/BoardCreator.d.ts.map +1 -0
- package/dist/boards/BoardCreator.js +24 -0
- package/dist/boards/BoardCreator.js.map +1 -0
- package/dist/boards/EditableLinkHook.d.ts +2 -0
- package/dist/boards/EditableLinkHook.d.ts.map +1 -0
- package/dist/boards/EditableLinkHook.js +137 -0
- package/dist/boards/EditableLinkHook.js.map +1 -0
- package/dist/boards/EditableLinkHookView.d.ts +2 -0
- package/dist/boards/EditableLinkHookView.d.ts.map +1 -0
- package/dist/boards/EditableLinkHookView.js +42 -0
- package/dist/boards/EditableLinkHookView.js.map +1 -0
- package/dist/boards/ExpandButton.d.ts +17 -0
- package/dist/boards/ExpandButton.d.ts.map +1 -0
- package/dist/boards/ExpandButton.js +59 -0
- package/dist/boards/ExpandButton.js.map +1 -0
- package/dist/boards/ExpandedBoardIOList.d.ts +12 -0
- package/dist/boards/ExpandedBoardIOList.d.ts.map +1 -0
- package/dist/boards/ExpandedBoardIOList.js +35 -0
- package/dist/boards/ExpandedBoardIOList.js.map +1 -0
- package/dist/boards/ExpandedBoardInputList.d.ts +4 -0
- package/dist/boards/ExpandedBoardInputList.d.ts.map +1 -0
- package/dist/boards/ExpandedBoardInputList.js +4 -0
- package/dist/boards/ExpandedBoardInputList.js.map +1 -0
- package/dist/boards/ExpandedBoardOutputList.d.ts +4 -0
- package/dist/boards/ExpandedBoardOutputList.d.ts.map +1 -0
- package/dist/boards/ExpandedBoardOutputList.js +4 -0
- package/dist/boards/ExpandedBoardOutputList.js.map +1 -0
- package/dist/boards/constants.d.ts +6 -0
- package/dist/boards/constants.d.ts.map +1 -0
- package/dist/boards/constants.js +6 -0
- package/dist/boards/constants.js.map +1 -0
- package/dist/constants.d.ts +14 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +23 -0
- package/dist/constants.js.map +1 -0
- package/dist/creators/Creator.d.ts +19 -0
- package/dist/creators/Creator.d.ts.map +1 -0
- package/dist/creators/Creator.js +54 -0
- package/dist/creators/Creator.js.map +1 -0
- package/dist/creators/DraggingCreator.d.ts +10 -0
- package/dist/creators/DraggingCreator.d.ts.map +1 -0
- package/dist/creators/DraggingCreator.js +45 -0
- package/dist/creators/DraggingCreator.js.map +1 -0
- package/dist/creators/Freehand.d.ts +16 -0
- package/dist/creators/Freehand.d.ts.map +1 -0
- package/dist/creators/Freehand.js +68 -0
- package/dist/creators/Freehand.js.map +1 -0
- package/dist/creators/SpanningCreator.d.ts +15 -0
- package/dist/creators/SpanningCreator.d.ts.map +1 -0
- package/dist/creators/SpanningCreator.js +66 -0
- package/dist/creators/SpanningCreator.js.map +1 -0
- package/dist/functions/logging.d.ts +4 -0
- package/dist/functions/logging.d.ts.map +1 -0
- package/dist/functions/logging.js +103 -0
- package/dist/functions/logging.js.map +1 -0
- package/dist/functions/math.d.ts +9 -0
- package/dist/functions/math.d.ts.map +1 -0
- package/dist/functions/math.js +85 -0
- package/dist/functions/math.js.map +1 -0
- package/dist/functions/various.d.ts +4 -0
- package/dist/functions/various.d.ts.map +1 -0
- package/dist/functions/various.js +54 -0
- package/dist/functions/various.js.map +1 -0
- package/dist/index.d.ts +77 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +79 -0
- package/dist/index.js.map +1 -0
- package/dist/linkables/DependencyLink.d.ts +24 -0
- package/dist/linkables/DependencyLink.d.ts.map +1 -0
- package/dist/linkables/DependencyLink.js +70 -0
- package/dist/linkables/DependencyLink.js.map +1 -0
- package/dist/linkables/IOList.d.ts +37 -0
- package/dist/linkables/IOList.d.ts.map +1 -0
- package/dist/linkables/IOList.js +203 -0
- package/dist/linkables/IOList.js.map +1 -0
- package/dist/linkables/InputList.d.ts +7 -0
- package/dist/linkables/InputList.d.ts.map +1 -0
- package/dist/linkables/InputList.js +13 -0
- package/dist/linkables/InputList.js.map +1 -0
- package/dist/linkables/LinkBullet.d.ts +11 -0
- package/dist/linkables/LinkBullet.d.ts.map +1 -0
- package/dist/linkables/LinkBullet.js +35 -0
- package/dist/linkables/LinkBullet.js.map +1 -0
- package/dist/linkables/LinkHook.d.ts +14 -0
- package/dist/linkables/LinkHook.d.ts.map +1 -0
- package/dist/linkables/LinkHook.js +50 -0
- package/dist/linkables/LinkHook.js.map +1 -0
- package/dist/linkables/LinkOutlet.d.ts +26 -0
- package/dist/linkables/LinkOutlet.d.ts.map +1 -0
- package/dist/linkables/LinkOutlet.js +136 -0
- package/dist/linkables/LinkOutlet.js.map +1 -0
- package/dist/linkables/Linkable.d.ts +55 -0
- package/dist/linkables/Linkable.d.ts.map +1 -0
- package/dist/linkables/Linkable.js +258 -0
- package/dist/linkables/Linkable.js.map +1 -0
- package/dist/linkables/OutputList.d.ts +7 -0
- package/dist/linkables/OutputList.d.ts.map +1 -0
- package/dist/linkables/OutputList.js +16 -0
- package/dist/linkables/OutputList.js.map +1 -0
- package/dist/linkables/constants.d.ts +12 -0
- package/dist/linkables/constants.d.ts.map +1 -0
- package/dist/linkables/constants.js +16 -0
- package/dist/linkables/constants.js.map +1 -0
- package/dist/mobjects/Dependency.d.ts +11 -0
- package/dist/mobjects/Dependency.d.ts.map +1 -0
- package/dist/mobjects/Dependency.js +19 -0
- package/dist/mobjects/Dependency.js.map +1 -0
- package/dist/mobjects/MGroup.d.ts +5 -0
- package/dist/mobjects/MGroup.d.ts.map +1 -0
- package/dist/mobjects/MGroup.js +15 -0
- package/dist/mobjects/MGroup.js.map +1 -0
- package/dist/mobjects/Mobject.d.ts +138 -0
- package/dist/mobjects/Mobject.d.ts.map +1 -0
- package/dist/mobjects/Mobject.js +488 -0
- package/dist/mobjects/Mobject.js.map +1 -0
- package/dist/mobjects/Motor.d.ts +20 -0
- package/dist/mobjects/Motor.d.ts.map +1 -0
- package/dist/mobjects/Motor.js +118 -0
- package/dist/mobjects/Motor.js.map +1 -0
- package/dist/mobjects/Sensor.d.ts +112 -0
- package/dist/mobjects/Sensor.d.ts.map +1 -0
- package/dist/mobjects/Sensor.js +650 -0
- package/dist/mobjects/Sensor.js.map +1 -0
- package/dist/mobjects/UpdateCall.d.ts +17 -0
- package/dist/mobjects/UpdateCall.d.ts.map +1 -0
- package/dist/mobjects/UpdateCall.js +67 -0
- package/dist/mobjects/UpdateCall.js.map +1 -0
- package/dist/mobjects/screen_events.d.ts +38 -0
- package/dist/mobjects/screen_events.d.ts.map +1 -0
- package/dist/mobjects/screen_events.js +143 -0
- package/dist/mobjects/screen_events.js.map +1 -0
- package/dist/paper/APILoader.d.ts +10 -0
- package/dist/paper/APILoader.d.ts.map +1 -0
- package/dist/paper/APILoader.js +18 -0
- package/dist/paper/APILoader.js.map +1 -0
- package/dist/paper/Paper.d.ts +34 -0
- package/dist/paper/Paper.d.ts.map +1 -0
- package/dist/paper/Paper.js +210 -0
- package/dist/paper/Paper.js.map +1 -0
- package/dist/paper/PaperView.d.ts +5 -0
- package/dist/paper/PaperView.d.ts.map +1 -0
- package/dist/paper/PaperView.js +9 -0
- package/dist/paper/PaperView.js.map +1 -0
- package/dist/paper/getPaper.d.ts +3 -0
- package/dist/paper/getPaper.d.ts.map +1 -0
- package/dist/paper/getPaper.js +8 -0
- package/dist/paper/getPaper.js.map +1 -0
- package/dist/paper/initPaper.d.ts +2 -0
- package/dist/paper/initPaper.d.ts.map +1 -0
- package/dist/paper/initPaper.js +3 -0
- package/dist/paper/initPaper.js.map +1 -0
- package/dist/shapes/Circle.d.ts +6 -0
- package/dist/shapes/Circle.d.ts.map +1 -0
- package/dist/shapes/Circle.js +20 -0
- package/dist/shapes/Circle.js.map +1 -0
- package/dist/shapes/CircularArc.d.ts +13 -0
- package/dist/shapes/CircularArc.d.ts.map +1 -0
- package/dist/shapes/CircularArc.js +95 -0
- package/dist/shapes/CircularArc.js.map +1 -0
- package/dist/shapes/CurvedArrow.d.ts +19 -0
- package/dist/shapes/CurvedArrow.d.ts.map +1 -0
- package/dist/shapes/CurvedArrow.js +89 -0
- package/dist/shapes/CurvedArrow.js.map +1 -0
- package/dist/shapes/Line.d.ts +14 -0
- package/dist/shapes/Line.d.ts.map +1 -0
- package/dist/shapes/Line.js +33 -0
- package/dist/shapes/Line.js.map +1 -0
- package/dist/shapes/Pill.d.ts +9 -0
- package/dist/shapes/Pill.d.ts.map +1 -0
- package/dist/shapes/Pill.js +51 -0
- package/dist/shapes/Pill.js.map +1 -0
- package/dist/shapes/Rectangle.d.ts +14 -0
- package/dist/shapes/Rectangle.d.ts.map +1 -0
- package/dist/shapes/Rectangle.js +34 -0
- package/dist/shapes/Rectangle.js.map +1 -0
- package/dist/shapes/RoundedRectangle.d.ts +17 -0
- package/dist/shapes/RoundedRectangle.d.ts.map +1 -0
- package/dist/shapes/RoundedRectangle.js +86 -0
- package/dist/shapes/RoundedRectangle.js.map +1 -0
- package/dist/shapes/Square.d.ts +8 -0
- package/dist/shapes/Square.d.ts.map +1 -0
- package/dist/shapes/Square.js +25 -0
- package/dist/shapes/Square.js.map +1 -0
- package/dist/sidebar/Sidebar.d.ts +28 -0
- package/dist/sidebar/Sidebar.d.ts.map +1 -0
- package/dist/sidebar/Sidebar.js +222 -0
- package/dist/sidebar/Sidebar.js.map +1 -0
- package/dist/sidebar/SidebarView.d.ts +5 -0
- package/dist/sidebar/SidebarView.d.ts.map +1 -0
- package/dist/sidebar/SidebarView.js +9 -0
- package/dist/sidebar/SidebarView.js.map +1 -0
- package/dist/sidebar/buttons/BoardButton.d.ts +6 -0
- package/dist/sidebar/buttons/BoardButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/BoardButton.js +14 -0
- package/dist/sidebar/buttons/BoardButton.js.map +1 -0
- package/dist/sidebar/buttons/ControlsButton.d.ts +5 -0
- package/dist/sidebar/buttons/ControlsButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/ControlsButton.js +11 -0
- package/dist/sidebar/buttons/ControlsButton.js.map +1 -0
- package/dist/sidebar/buttons/CreativeButton.d.ts +13 -0
- package/dist/sidebar/buttons/CreativeButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/CreativeButton.js +49 -0
- package/dist/sidebar/buttons/CreativeButton.js.map +1 -0
- package/dist/sidebar/buttons/DragButton.d.ts +5 -0
- package/dist/sidebar/buttons/DragButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/DragButton.js +10 -0
- package/dist/sidebar/buttons/DragButton.js.map +1 -0
- package/dist/sidebar/buttons/EraseButton.d.ts +7 -0
- package/dist/sidebar/buttons/EraseButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/EraseButton.js +34 -0
- package/dist/sidebar/buttons/EraseButton.js.map +1 -0
- package/dist/sidebar/buttons/LinkButton.d.ts +5 -0
- package/dist/sidebar/buttons/LinkButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/LinkButton.js +9 -0
- package/dist/sidebar/buttons/LinkButton.js.map +1 -0
- package/dist/sidebar/buttons/SidebarButton.d.ts +72 -0
- package/dist/sidebar/buttons/SidebarButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/SidebarButton.js +369 -0
- package/dist/sidebar/buttons/SidebarButton.js.map +1 -0
- package/dist/sidebar/buttons/SidebarButtonView.d.ts +6 -0
- package/dist/sidebar/buttons/SidebarButtonView.d.ts.map +1 -0
- package/dist/sidebar/buttons/SidebarButtonView.js +8 -0
- package/dist/sidebar/buttons/SidebarButtonView.js.map +1 -0
- package/dist/sidebar/buttons/ToggleButton.d.ts +17 -0
- package/dist/sidebar/buttons/ToggleButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/ToggleButton.js +79 -0
- package/dist/sidebar/buttons/ToggleButton.js.map +1 -0
- package/dist/sidebar/buttons/button_geometry.d.ts +10 -0
- package/dist/sidebar/buttons/button_geometry.d.ts.map +1 -0
- package/dist/sidebar/buttons/button_geometry.js +15 -0
- package/dist/sidebar/buttons/button_geometry.js.map +1 -0
- package/dist/sidebar/getSidebar.d.ts +3 -0
- package/dist/sidebar/getSidebar.d.ts.map +1 -0
- package/dist/sidebar/getSidebar.js +8 -0
- package/dist/sidebar/getSidebar.js.map +1 -0
- package/dist/sidebar/initSidebar.d.ts +2 -0
- package/dist/sidebar/initSidebar.d.ts.map +1 -0
- package/dist/sidebar/initSidebar.js +3 -0
- package/dist/sidebar/initSidebar.js.map +1 -0
- package/dist/ui/Checkbox.d.ts +20 -0
- package/dist/ui/Checkbox.d.ts.map +1 -0
- package/dist/ui/Checkbox.js +71 -0
- package/dist/ui/Checkbox.js.map +1 -0
- package/dist/ui/InputTextBox.d.ts +24 -0
- package/dist/ui/InputTextBox.d.ts.map +1 -0
- package/dist/ui/InputTextBox.js +104 -0
- package/dist/ui/InputTextBox.js.map +1 -0
- package/dist/ui/LinkableInputTextBox.d.ts +11 -0
- package/dist/ui/LinkableInputTextBox.d.ts.map +1 -0
- package/dist/ui/LinkableInputTextBox.js +32 -0
- package/dist/ui/LinkableInputTextBox.js.map +1 -0
- package/dist/ui/Popover.d.ts +34 -0
- package/dist/ui/Popover.d.ts.map +1 -0
- package/dist/ui/Popover.js +187 -0
- package/dist/ui/Popover.js.map +1 -0
- package/dist/ui/RadioButton.d.ts +16 -0
- package/dist/ui/RadioButton.d.ts.map +1 -0
- package/dist/ui/RadioButton.js +53 -0
- package/dist/ui/RadioButton.js.map +1 -0
- package/dist/ui/RadioButtonList.d.ts +16 -0
- package/dist/ui/RadioButtonList.d.ts.map +1 -0
- package/dist/ui/RadioButtonList.js +71 -0
- package/dist/ui/RadioButtonList.js.map +1 -0
- package/dist/ui/Scroll.d.ts +10 -0
- package/dist/ui/Scroll.d.ts.map +1 -0
- package/dist/ui/Scroll.js +30 -0
- package/dist/ui/Scroll.js.map +1 -0
- package/dist/ui/SimpleButton.d.ts +16 -0
- package/dist/ui/SimpleButton.d.ts.map +1 -0
- package/dist/ui/SimpleButton.js +61 -0
- package/dist/ui/SimpleButton.js.map +1 -0
- package/dist/ui/TextLabel.d.ts +19 -0
- package/dist/ui/TextLabel.d.ts.map +1 -0
- package/dist/ui/TextLabel.js +21 -0
- package/dist/ui/TextLabel.js.map +1 -0
- package/dist/ui/TextLabelView.d.ts +15 -0
- package/dist/ui/TextLabelView.d.ts.map +1 -0
- package/dist/ui/TextLabelView.js +52 -0
- package/dist/ui/TextLabelView.js.map +1 -0
- package/dist/views/Color.d.ts +31 -0
- package/dist/views/Color.d.ts.map +1 -0
- package/dist/views/Color.js +107 -0
- package/dist/views/Color.js.map +1 -0
- package/dist/views/Frame.d.ts +64 -0
- package/dist/views/Frame.d.ts.map +1 -0
- package/dist/views/Frame.js +132 -0
- package/dist/views/Frame.js.map +1 -0
- package/dist/views/ImageView.d.ts +10 -0
- package/dist/views/ImageView.d.ts.map +1 -0
- package/dist/views/ImageView.js +28 -0
- package/dist/views/ImageView.js.map +1 -0
- package/dist/views/View.d.ts +45 -0
- package/dist/views/View.d.ts.map +1 -0
- package/dist/views/View.js +181 -0
- package/dist/views/View.js.map +1 -0
- package/dist/vmobjects/CurvedLine.d.ts +14 -0
- package/dist/vmobjects/CurvedLine.d.ts.map +1 -0
- package/dist/vmobjects/CurvedLine.js +66 -0
- package/dist/vmobjects/CurvedLine.js.map +1 -0
- package/dist/vmobjects/CurvedShape.d.ts +5 -0
- package/dist/vmobjects/CurvedShape.d.ts.map +1 -0
- package/dist/vmobjects/CurvedShape.js +12 -0
- package/dist/vmobjects/CurvedShape.js.map +1 -0
- package/dist/vmobjects/Polygon.d.ts +5 -0
- package/dist/vmobjects/Polygon.d.ts.map +1 -0
- package/dist/vmobjects/Polygon.js +12 -0
- package/dist/vmobjects/Polygon.js.map +1 -0
- package/dist/vmobjects/PolygonalLine.d.ts +9 -0
- package/dist/vmobjects/PolygonalLine.d.ts.map +1 -0
- package/dist/vmobjects/PolygonalLine.js +34 -0
- package/dist/vmobjects/PolygonalLine.js.map +1 -0
- package/dist/vmobjects/VMobject.d.ts +58 -0
- package/dist/vmobjects/VMobject.d.ts.map +1 -0
- package/dist/vmobjects/VMobject.js +165 -0
- package/dist/vmobjects/VMobject.js.map +1 -0
- package/dist/vmobjects/VView.d.ts +19 -0
- package/dist/vmobjects/VView.d.ts.map +1 -0
- package/dist/vmobjects/VView.js +61 -0
- package/dist/vmobjects/VView.js.map +1 -0
- package/package.json +43 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadioButton.js","sourceRoot":"","sources":["../../src/ui/RadioButton.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAe,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAE9E,MAAM,OAAO,WAAY,SAAQ,MAAM;IAMtC,QAAQ;QACP,OAAO;YACN,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE;YACxB,WAAW,EAAE,CAAC;YACd,MAAM,EAAE,IAAI,MAAM,CAAC;gBAClB,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE;gBACxB,WAAW,EAAE,CAAC;aACd,CAAC;YACF,KAAK,EAAE,IAAI,SAAS,CAAC;gBACpB,IAAI,EAAE,KAAK;gBACX,eAAe,EAAE,MAAM;aACvB,CAAC;YACF,kBAAkB,EAAE,kBAAkB,CAAC,IAAI;SAC3C,CAAA;IACF,CAAC;IAED,KAAK;QACJ,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAClB,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;SACpC,CAAC,CAAA;QACF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM;YAC5B,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC5B,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;IAED,aAAa,CAAC,CAAc;QAC3B,IAAI,CAAC,MAAM,CAAC;YACX,WAAW,EAAE,GAAG;SAChB,CAAC,CAAA;IACH,CAAC;IAED,WAAW,CAAC,CAAc;QACzB,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;IAED,MAAM;QACL,IAAI,CAAC,MAAM,CAAC;YACX,WAAW,EAAE,CAAC;SACd,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACtB,CAAC;IAED,QAAQ;QACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACzB,CAAC;CAuBD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { MGroup } from '../mobjects/MGroup.js';
|
|
2
|
+
import { RadioButton } from './RadioButton.js';
|
|
3
|
+
export declare class RadioButtonList extends MGroup {
|
|
4
|
+
options: Array<string>;
|
|
5
|
+
radioButtons: Array<RadioButton>;
|
|
6
|
+
selectedButton: RadioButton | null;
|
|
7
|
+
orientation: 'horizontal' | 'vertical';
|
|
8
|
+
optionSpacing: number;
|
|
9
|
+
action: (string: any) => any;
|
|
10
|
+
defaults(): object;
|
|
11
|
+
mutabilities(): object;
|
|
12
|
+
setup(): void;
|
|
13
|
+
buttonSelected(button: RadioButton): void;
|
|
14
|
+
update(args?: object, redraw?: boolean): void;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=RadioButtonList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadioButtonList.d.ts","sourceRoot":"","sources":["../../src/ui/RadioButtonList.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,qBAAa,eAAgB,SAAQ,MAAM;IAE1C,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACtB,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;IAChC,cAAc,EAAE,WAAW,GAAG,IAAI,CAAA;IAClC,WAAW,EAAE,YAAY,GAAG,UAAU,CAAA;IACtC,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,CAAC,MAAM,KAAA,KAAK,GAAG,CAAA;IAEvB,QAAQ,IAAI,MAAM;IAWlB,YAAY,IAAI,MAAM;IAQtB,KAAK;IA+BL,cAAc,CAAC,MAAM,EAAE,WAAW;IAWlC,MAAM,CAAC,IAAI,GAAE,MAAW,EAAE,MAAM,GAAE,OAAc;CAehD"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { MGroup } from '../mobjects/MGroup.js';
|
|
2
|
+
import { RadioButton } from './RadioButton.js';
|
|
3
|
+
export class RadioButtonList extends MGroup {
|
|
4
|
+
defaults() {
|
|
5
|
+
return {
|
|
6
|
+
options: [],
|
|
7
|
+
radioButtons: [],
|
|
8
|
+
selectedButton: null,
|
|
9
|
+
orientation: 'vertical',
|
|
10
|
+
optionSpacing: 25,
|
|
11
|
+
action: (text) => { }
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
mutabilities() {
|
|
15
|
+
return {
|
|
16
|
+
options: 'on_init',
|
|
17
|
+
orientation: 'on_init',
|
|
18
|
+
optionSpacing: 'on_init'
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
setup() {
|
|
22
|
+
super.setup();
|
|
23
|
+
var i = 0;
|
|
24
|
+
for (let option of this.options) {
|
|
25
|
+
let button = new RadioButton({
|
|
26
|
+
list: this
|
|
27
|
+
});
|
|
28
|
+
button.label.update({
|
|
29
|
+
text: option
|
|
30
|
+
});
|
|
31
|
+
switch (this.orientation) {
|
|
32
|
+
case 'horizontal':
|
|
33
|
+
button.update({
|
|
34
|
+
anchor: [this.optionSpacing * i, 0],
|
|
35
|
+
frameWidth: this.optionSpacing - 2 * button.radius - 10
|
|
36
|
+
});
|
|
37
|
+
break;
|
|
38
|
+
case 'vertical':
|
|
39
|
+
button.update({
|
|
40
|
+
anchor: [0, this.optionSpacing * i]
|
|
41
|
+
});
|
|
42
|
+
break;
|
|
43
|
+
default:
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
this.add(button);
|
|
47
|
+
this.radioButtons.push(button);
|
|
48
|
+
i += 1;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
buttonSelected(button) {
|
|
52
|
+
if (button == this.selectedButton) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
this.selectedButton = button;
|
|
56
|
+
for (let anyButton of this.radioButtons) {
|
|
57
|
+
if (anyButton !== button) {
|
|
58
|
+
anyButton.unselect();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
this.action(button.label.text);
|
|
62
|
+
}
|
|
63
|
+
update(args = {}, redraw = true) {
|
|
64
|
+
super.update(args, redraw);
|
|
65
|
+
let b = args['selectedButton'];
|
|
66
|
+
if (b) {
|
|
67
|
+
b.select();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=RadioButtonList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadioButtonList.js","sourceRoot":"","sources":["../../src/ui/RadioButtonList.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,MAAM,OAAO,eAAgB,SAAQ,MAAM;IAS1C,QAAQ;QACP,OAAO;YACN,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,EAAE;YAChB,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,UAAU;YACvB,aAAa,EAAE,EAAE;YACjB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,GAAE,CAAC;SACpB,CAAA;IACF,CAAC;IAED,YAAY;QACX,OAAO;YACN,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,SAAS;YACtB,aAAa,EAAE,SAAS;SACxB,CAAA;IACF,CAAC;IAED,KAAK;QACJ,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,MAAM,GAAG,IAAI,WAAW,CAAC;gBAC5B,IAAI,EAAE,IAAI;aACV,CAAC,CAAA;YACF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;gBACnB,IAAI,EAAE,MAAM;aACZ,CAAC,CAAA;YACF,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1B,KAAK,YAAY;oBAChB,MAAM,CAAC,MAAM,CAAC;wBACb,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC,CAAC;wBACnC,UAAU,EAAE,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,EAAE;qBACvD,CAAC,CAAA;oBACF,MAAK;gBACN,KAAK,UAAU;oBACd,MAAM,CAAC,MAAM,CAAC;wBACb,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;qBACnC,CAAC,CAAA;oBACF,MAAK;gBACN;oBACC,MAAK;YACP,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAChB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC9B,CAAC,IAAI,CAAC,CAAA;QACP,CAAC;IACF,CAAC;IAED,cAAc,CAAC,MAAmB;QACjC,IAAI,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAAC,OAAM;QAAC,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAA;QAC5B,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACzC,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;gBAC1B,SAAS,CAAC,QAAQ,EAAE,CAAA;YACrB,CAAC;QACF,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;IAED,MAAM,CAAC,OAAe,EAAE,EAAE,SAAkB,IAAI;QAC/C,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC1B,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC9B,IAAI,CAAC,EAAE,CAAC;YACP,CAAC,CAAC,MAAM,EAAE,CAAA;QACX,CAAC;IACF,CAAC;CASD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Mobject } from '../mobjects/Mobject.js';
|
|
2
|
+
export declare class Scroll extends Mobject {
|
|
3
|
+
list: Array<any>;
|
|
4
|
+
fontSize: number;
|
|
5
|
+
fontFamily: string;
|
|
6
|
+
defaults(): object;
|
|
7
|
+
setup(): void;
|
|
8
|
+
update(args?: object, redraw?: boolean): void;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=Scroll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Scroll.d.ts","sourceRoot":"","sources":["../../src/ui/Scroll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAKhD,qBAAa,MAAO,SAAQ,OAAO;IAElC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAElB,QAAQ,IAAI,MAAM;IASlB,KAAK;IAUL,MAAM,CAAC,IAAI,GAAE,MAAW,EAAE,MAAM,GAAE,OAAe;CAUjD"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Mobject } from '../mobjects/Mobject.js';
|
|
2
|
+
import { prettyPrint } from '../functions/various.js';
|
|
3
|
+
export class Scroll extends Mobject {
|
|
4
|
+
defaults() {
|
|
5
|
+
return {
|
|
6
|
+
list: [],
|
|
7
|
+
fontSize: 16,
|
|
8
|
+
fontFamily: 'Helvetica',
|
|
9
|
+
preventDefault: false
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
setup() {
|
|
13
|
+
super.setup();
|
|
14
|
+
this.view.div.style['overflow-y'] = 'auto';
|
|
15
|
+
this.view.div.style['text-align'] = 'center';
|
|
16
|
+
this.view.div.style.justifyContent = 'center';
|
|
17
|
+
this.view.div.style.fontFamily = this.fontFamily;
|
|
18
|
+
this.view.div.style.fontSize = `${this.fontSize}px`;
|
|
19
|
+
this.view.div.style.display = 'flex';
|
|
20
|
+
}
|
|
21
|
+
update(args = {}, redraw = false) {
|
|
22
|
+
super.update(args, redraw);
|
|
23
|
+
var innerHTML = '';
|
|
24
|
+
for (var i = 0; i < this.list.length; i++) {
|
|
25
|
+
innerHTML += (prettyPrint(this.list[i]) + `<br>`);
|
|
26
|
+
}
|
|
27
|
+
this.view.div.innerHTML = innerHTML;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=Scroll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Scroll.js","sourceRoot":"","sources":["../../src/ui/Scroll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAGrD,MAAM,OAAO,MAAO,SAAQ,OAAO;IAMlC,QAAQ;QACP,OAAO;YACN,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,WAAW;YACvB,cAAc,EAAE,KAAK;SACrB,CAAA;IACF,CAAC;IAED,KAAK;QACJ,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,MAAM,CAAA;QAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAA;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAA;QAC7C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QAChD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAA;QACnD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;IACrC,CAAC;IAED,MAAM,CAAC,OAAe,EAAE,EAAE,SAAkB,KAAK;QAChD,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC1B,IAAI,SAAS,GAAG,EAAE,CAAA;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAA;QAClD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAA;IACpC,CAAC;CAGD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { TextLabel } from './TextLabel.js';
|
|
2
|
+
import { RoundedRectangle } from '../shapes/RoundedRectangle.js';
|
|
3
|
+
import { ScreenEvent } from '../mobjects/screen_events.js';
|
|
4
|
+
export declare class SimpleButton extends RoundedRectangle {
|
|
5
|
+
label: TextLabel;
|
|
6
|
+
defaults(): object;
|
|
7
|
+
setup(): void;
|
|
8
|
+
get text(): string;
|
|
9
|
+
set text(newValue: string);
|
|
10
|
+
get fontSize(): number;
|
|
11
|
+
set fontSize(newValue: number);
|
|
12
|
+
action(): void;
|
|
13
|
+
onPointerUp(e: ScreenEvent): void;
|
|
14
|
+
onPointerDown(e: ScreenEvent): void;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=SimpleButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimpleButton.d.ts","sourceRoot":"","sources":["../../src/ui/SimpleButton.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAEhE,OAAO,EAAE,WAAW,EAAsB,MAAM,8BAA8B,CAAA;AAG9E,qBAAa,YAAa,SAAQ,gBAAgB;IAEjD,KAAK,EAAE,SAAS,CAAA;IAEhB,QAAQ,IAAI,MAAM;IAelB,KAAK;IAOL,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,EAIxB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAI5B;IAED,MAAM;IAEN,WAAW,CAAC,CAAC,EAAE,WAAW;IAU1B,aAAa,CAAC,CAAC,EAAE,WAAW;CAS5B"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { TextLabel } from './TextLabel.js';
|
|
2
|
+
import { RoundedRectangle } from '../shapes/RoundedRectangle.js';
|
|
3
|
+
import { Color } from '../views/Color.js';
|
|
4
|
+
import { ScreenEventHandler } from '../mobjects/screen_events.js';
|
|
5
|
+
export class SimpleButton extends RoundedRectangle {
|
|
6
|
+
defaults() {
|
|
7
|
+
return {
|
|
8
|
+
width: 50,
|
|
9
|
+
height: 25,
|
|
10
|
+
cornerRadius: 5,
|
|
11
|
+
label: new TextLabel({
|
|
12
|
+
textColor: Color.white()
|
|
13
|
+
}),
|
|
14
|
+
fillColor: Color.gray(0.3),
|
|
15
|
+
strokeColor: Color.gray(0.4),
|
|
16
|
+
strokeWidth: 1.0,
|
|
17
|
+
screenEventHandler: ScreenEventHandler.Self
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
setup() {
|
|
21
|
+
super.setup();
|
|
22
|
+
this.add(this.label);
|
|
23
|
+
this.addDependency('width', this.label, 'frameWidth');
|
|
24
|
+
this.addDependency('height', this.label, 'frameHeight');
|
|
25
|
+
}
|
|
26
|
+
get text() {
|
|
27
|
+
return this.label.text;
|
|
28
|
+
}
|
|
29
|
+
set text(newValue) {
|
|
30
|
+
this.label.update({
|
|
31
|
+
text: newValue
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
get fontSize() {
|
|
35
|
+
return this.label.fontSize;
|
|
36
|
+
}
|
|
37
|
+
set fontSize(newValue) {
|
|
38
|
+
this.label.update({
|
|
39
|
+
fontSize: newValue
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
action() { } // reassigned on creation or overwritten in subclass
|
|
43
|
+
onPointerUp(e) {
|
|
44
|
+
this.update({
|
|
45
|
+
fillColor: Color.gray(0.3)
|
|
46
|
+
});
|
|
47
|
+
this.label.update({
|
|
48
|
+
textColor: Color.white()
|
|
49
|
+
});
|
|
50
|
+
this.action();
|
|
51
|
+
}
|
|
52
|
+
onPointerDown(e) {
|
|
53
|
+
this.update({
|
|
54
|
+
fillColor: Color.white()
|
|
55
|
+
});
|
|
56
|
+
this.label.update({
|
|
57
|
+
textColor: Color.black()
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=SimpleButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimpleButton.js","sourceRoot":"","sources":["../../src/ui/SimpleButton.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAe,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAG9E,MAAM,OAAO,YAAa,SAAQ,gBAAgB;IAIjD,QAAQ;QACP,OAAO;YACN,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,CAAC;YACf,KAAK,EAAE,IAAI,SAAS,CAAC;gBACpB,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE;aACxB,CAAC;YACF,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;YAC1B,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;YAC5B,WAAW,EAAE,GAAG;YAChB,kBAAkB,EAAE,kBAAkB,CAAC,IAAI;SAC3C,CAAA;IACF,CAAC;IAED,KAAK;QACJ,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;QACrD,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;IACvB,CAAC;IAED,IAAI,IAAI,CAAC,QAAgB;QACxB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,QAAQ;SACd,CAAC,CAAA;IACH,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAA;IAC3B,CAAC;IAED,IAAI,QAAQ,CAAC,QAAgB;QAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACjB,QAAQ,EAAE,QAAQ;SAClB,CAAC,CAAA;IACH,CAAC;IAED,MAAM,KAAK,CAAC,CAAC,oDAAoD;IAEjE,WAAW,CAAC,CAAc;QACzB,IAAI,CAAC,MAAM,CAAC;YACX,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;SAC1B,CAAC,CAAA;QACF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACjB,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE;SACxB,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,EAAE,CAAA;IACd,CAAC;IAED,aAAa,CAAC,CAAc;QAC3B,IAAI,CAAC,MAAM,CAAC;YACX,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE;SACxB,CAAC,CAAA;QACF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACjB,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE;SACxB,CAAC,CAAA;IACH,CAAC;CAED"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Mobject } from '../mobjects/Mobject.js';
|
|
2
|
+
import { TextLabelView } from './TextLabelView.js';
|
|
3
|
+
import { Color } from '../views/Color.js';
|
|
4
|
+
export type HorizontalAlignment = 'left' | 'center' | 'right';
|
|
5
|
+
export type VerticalAlignment = 'top' | 'center' | 'bottom';
|
|
6
|
+
export declare class TextLabel extends Mobject {
|
|
7
|
+
text: string;
|
|
8
|
+
view: TextLabelView;
|
|
9
|
+
get textColor(): Color | null;
|
|
10
|
+
set textColor(newValue: Color);
|
|
11
|
+
get fontSize(): number;
|
|
12
|
+
set fontSize(newValue: number);
|
|
13
|
+
get horizontalAlign(): HorizontalAlignment;
|
|
14
|
+
set horizontalAlign(newValue: HorizontalAlignment);
|
|
15
|
+
get verticalAlign(): VerticalAlignment;
|
|
16
|
+
set verticalAlign(newValue: VerticalAlignment);
|
|
17
|
+
defaults(): object;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=TextLabel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextLabel.d.ts","sourceRoot":"","sources":["../../src/ui/TextLabel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;AAC7D,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE3D,qBAAa,SAAU,SAAQ,OAAO;IAErC,IAAI,EAAE,MAAM,CAAA;IACJ,IAAI,EAAE,aAAa,CAAA;IAE3B,IAAI,SAAS,IAAI,KAAK,GAAG,IAAI,CAA2B;IACxD,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAgC;IAC7D,IAAI,QAAQ,IAAI,MAAM,CAA8B;IACpD,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAmC;IAChE,IAAI,eAAe,IAAI,mBAAmB,CAAqC;IAC/E,IAAI,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAA0C;IAC3F,IAAI,aAAa,IAAI,iBAAiB,CAAmC;IACzE,IAAI,aAAa,CAAC,QAAQ,EAAE,iBAAiB,EAAwC;IAErF,QAAQ,IAAI,MAAM;CAOlB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Mobject } from '../mobjects/Mobject.js';
|
|
2
|
+
import { TextLabelView } from './TextLabelView.js';
|
|
3
|
+
import { Color } from '../views/Color.js';
|
|
4
|
+
export class TextLabel extends Mobject {
|
|
5
|
+
get textColor() { return this.view.color; }
|
|
6
|
+
set textColor(newValue) { this.view.color = newValue; }
|
|
7
|
+
get fontSize() { return this.view.fontSize; }
|
|
8
|
+
set fontSize(newValue) { this.view.fontSize = newValue; }
|
|
9
|
+
get horizontalAlign() { return this.view.horizontalAlign; }
|
|
10
|
+
set horizontalAlign(newValue) { this.view.horizontalAlign = newValue; }
|
|
11
|
+
get verticalAlign() { return this.view.verticalAlign; }
|
|
12
|
+
set verticalAlign(newValue) { this.view.verticalAlign = newValue; }
|
|
13
|
+
defaults() {
|
|
14
|
+
return {
|
|
15
|
+
text: 'text',
|
|
16
|
+
textColor: Color.white(),
|
|
17
|
+
view: new TextLabelView()
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=TextLabel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextLabel.js","sourceRoot":"","sources":["../../src/ui/TextLabel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAKzC,MAAM,OAAO,SAAU,SAAQ,OAAO;IAKrC,IAAI,SAAS,KAAmB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA,CAAC,CAAC;IACxD,IAAI,SAAS,CAAC,QAAe,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAA,CAAC,CAAC;IAC7D,IAAI,QAAQ,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAA,CAAC,CAAC;IACpD,IAAI,QAAQ,CAAC,QAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA,CAAC,CAAC;IAChE,IAAI,eAAe,KAA0B,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAA,CAAC,CAAC;IAC/E,IAAI,eAAe,CAAC,QAA6B,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAA,CAAC,CAAC;IAC3F,IAAI,aAAa,KAAwB,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAA,CAAC,CAAC;IACzE,IAAI,aAAa,CAAC,QAA2B,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAA,CAAC,CAAC;IAErF,QAAQ;QACP,OAAO;YACN,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE;YACxB,IAAI,EAAE,IAAI,aAAa,EAAE;SACzB,CAAA;IACF,CAAC;CACD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { View } from '../views/View.js';
|
|
2
|
+
import { TextLabel, HorizontalAlignment, VerticalAlignment } from './TextLabel.js';
|
|
3
|
+
import { Color } from '../views/Color.js';
|
|
4
|
+
export declare class TextLabelView extends View {
|
|
5
|
+
mobject: TextLabel;
|
|
6
|
+
horizontalAlign: HorizontalAlignment;
|
|
7
|
+
verticalAlign: VerticalAlignment;
|
|
8
|
+
color?: Color;
|
|
9
|
+
fontSize: number;
|
|
10
|
+
fontFamily: string;
|
|
11
|
+
defaults(): object;
|
|
12
|
+
setup(): void;
|
|
13
|
+
redraw(): void;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=TextLabelView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextLabelView.d.ts","sourceRoot":"","sources":["../../src/ui/TextLabelView.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClF,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAGzC,qBAAa,aAAc,SAAQ,IAAI;IAE9B,OAAO,EAAE,SAAS,CAAA;IAC1B,eAAe,EAAE,mBAAmB,CAAA;IACpC,aAAa,EAAE,iBAAiB,CAAA;IAChC,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAElB,QAAQ,IAAI,MAAM;IAUlB,KAAK;IAQL,MAAM;CAgCN"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { View } from '../views/View.js';
|
|
2
|
+
import { Color } from '../views/Color.js';
|
|
3
|
+
export class TextLabelView extends View {
|
|
4
|
+
defaults() {
|
|
5
|
+
return {
|
|
6
|
+
horizontalAlign: 'center',
|
|
7
|
+
verticalAlign: 'center',
|
|
8
|
+
color: Color.white(),
|
|
9
|
+
fontSize: 16,
|
|
10
|
+
fontFamily: 'Helvetica'
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
setup() {
|
|
14
|
+
super.setup();
|
|
15
|
+
this.div.setAttribute('class', this.mobject.constructor.name + ' unselectable mobject-div');
|
|
16
|
+
this.div.style.display = 'flex';
|
|
17
|
+
this.div.style.fontFamily = this.fontFamily;
|
|
18
|
+
this.div.style.fontSize = `${this.fontSize}px`;
|
|
19
|
+
}
|
|
20
|
+
redraw() {
|
|
21
|
+
super.redraw();
|
|
22
|
+
//// internal dependencies
|
|
23
|
+
this.div.innerHTML = this.mobject.text;
|
|
24
|
+
this.div.style.color = (this.color ?? Color.white()).toHex();
|
|
25
|
+
this.div.style.borderColor = (this.borderColor ?? Color.white()).toHex();
|
|
26
|
+
this.div.style.borderWidth = `${this.borderWidth}px`;
|
|
27
|
+
this.div.style.fontSize = `${this.fontSize}px`;
|
|
28
|
+
switch (this.verticalAlign) {
|
|
29
|
+
case 'top':
|
|
30
|
+
this.div.style.alignItems = 'start';
|
|
31
|
+
break;
|
|
32
|
+
case 'center':
|
|
33
|
+
this.div.style.alignItems = 'center';
|
|
34
|
+
break;
|
|
35
|
+
case 'bottom':
|
|
36
|
+
this.div.style.alignItems = 'end';
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
switch (this.horizontalAlign) {
|
|
40
|
+
case 'left':
|
|
41
|
+
this.div.style.justifyContent = 'left';
|
|
42
|
+
break;
|
|
43
|
+
case 'center':
|
|
44
|
+
this.div.style.justifyContent = 'center';
|
|
45
|
+
break;
|
|
46
|
+
case 'right':
|
|
47
|
+
this.div.style.justifyContent = 'right';
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=TextLabelView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextLabelView.js","sourceRoot":"","sources":["../../src/ui/TextLabelView.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAEvC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAGzC,MAAM,OAAO,aAAc,SAAQ,IAAI;IAStC,QAAQ;QACP,OAAO;YACN,eAAe,EAAE,QAAQ;YACzB,aAAa,EAAE,QAAQ;YACvB,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;YACpB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,WAAW;SACvB,CAAA;IACF,CAAC;IAED,KAAK;QACJ,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,2BAA2B,CAAC,CAAA;QAC3F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;QAC/B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAA;IAC/C,CAAC;IAED,MAAM;QACL,KAAK,CAAC,MAAM,EAAE,CAAA;QACd,0BAA0B;QAC1B,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;QACtC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;QAC5D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;QACxE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,CAAA;QAEpD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAA;QAC9C,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7B,KAAK,KAAK;gBACT,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAA;gBACnC,MAAK;YACN,KAAK,QAAQ;gBACZ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAA;gBACpC,MAAK;YACN,KAAK,QAAQ;gBACZ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAA;gBACjC,MAAK;QACN,CAAC;QACD,QAAQ,IAAI,CAAC,eAAe,EAAE,CAAC;YAC/B,KAAK,MAAM;gBACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,GAAG,MAAM,CAAA;gBACtC,MAAK;YACN,KAAK,QAAQ;gBACZ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAA;gBACxC,MAAK;YACN,KAAK,OAAO;gBACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,GAAG,OAAO,CAAA;gBACvC,MAAK;QACN,CAAC;IACF,CAAC;CACD"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export declare class Color {
|
|
2
|
+
red: number;
|
|
3
|
+
green: number;
|
|
4
|
+
blue: number;
|
|
5
|
+
alpha: number;
|
|
6
|
+
constructor(r: any, g: any, b: any, a?: number);
|
|
7
|
+
darken(factor: number): Color;
|
|
8
|
+
brighten(factor: number): Color;
|
|
9
|
+
toHex(): string;
|
|
10
|
+
toCSS(): string;
|
|
11
|
+
toString(): string;
|
|
12
|
+
withAlpha(a: number, premultiplied?: boolean): Color;
|
|
13
|
+
static fromHex(hex: string): Color;
|
|
14
|
+
static clear(): Color;
|
|
15
|
+
static black(): Color;
|
|
16
|
+
static white(): Color;
|
|
17
|
+
static red(): Color;
|
|
18
|
+
static orange(): Color;
|
|
19
|
+
static yellow(): Color;
|
|
20
|
+
static green(): Color;
|
|
21
|
+
static blue(): Color;
|
|
22
|
+
static indigo(): Color;
|
|
23
|
+
static purple(): Color;
|
|
24
|
+
static space(): Color;
|
|
25
|
+
static gray(x: any): Color;
|
|
26
|
+
static random(): Color;
|
|
27
|
+
static randomGray(): Color;
|
|
28
|
+
interpolate(newColor: Color, weight: number): Color;
|
|
29
|
+
static hsv_to_rgb(hue: number, saturation: number, value: number): Array<number>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=Color.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Color.d.ts","sourceRoot":"","sources":["../../src/views/Color.ts"],"names":[],"mappings":"AAGA,qBAAa,KAAK;IAGjB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;gBAED,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,CAAC,SAAI;IAO1B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK;IAI7B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK;IAM/B,KAAK,IAAI,MAAM;IAYf,KAAK,IAAI,MAAM;IAMf,QAAQ,IAAI,MAAM;IAIlB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,GAAE,OAAe,GAAG,KAAK;IAI3D,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK;IAalC,MAAM,CAAC,KAAK,IAAI,KAAK;IAErB,MAAM,CAAC,KAAK,IAAI,KAAK;IACrB,MAAM,CAAC,KAAK,IAAI,KAAK;IAErB,MAAM,CAAC,GAAG,IAAI,KAAK;IACnB,MAAM,CAAC,MAAM,IAAI,KAAK;IACtB,MAAM,CAAC,MAAM,IAAI,KAAK;IACtB,MAAM,CAAC,KAAK,IAAI,KAAK;IACrB,MAAM,CAAC,IAAI,IAAI,KAAK;IACpB,MAAM,CAAC,MAAM,IAAI,KAAK;IACtB,MAAM,CAAC,MAAM,IAAI,KAAK;IACtB,MAAM,CAAC,KAAK,IAAI,KAAK;IAMrB,MAAM,CAAC,IAAI,CAAC,CAAC,KAAA,GAAG,KAAK;IAErB,MAAM,CAAC,MAAM,IAAI,KAAK;IACtB,MAAM,CAAC,UAAU,IAAI,KAAK;IAE1B,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;IAS3C,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;CAqChF"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
let TAU = 2 * Math.PI;
|
|
2
|
+
export class Color {
|
|
3
|
+
constructor(r, g, b, a = 1) {
|
|
4
|
+
this.red = r;
|
|
5
|
+
this.green = g;
|
|
6
|
+
this.blue = b;
|
|
7
|
+
this.alpha = a;
|
|
8
|
+
}
|
|
9
|
+
darken(factor) {
|
|
10
|
+
return new Color((1 - factor) * this.red, (1 - factor) * this.green, (1 - factor) * this.blue, this.alpha);
|
|
11
|
+
}
|
|
12
|
+
brighten(factor) {
|
|
13
|
+
return new Color((1 - factor) * this.red + factor, (1 - factor) * this.green + factor, (1 - factor) * this.blue + factor, this.alpha);
|
|
14
|
+
}
|
|
15
|
+
// Conversion methods
|
|
16
|
+
toHex() {
|
|
17
|
+
// e. g. Color(1, 1, 1, 1).toHex() == '#ff0000'
|
|
18
|
+
let hex_r = (Math.round(this.red * 255)).toString(16).padStart(2, '0');
|
|
19
|
+
let hex_g = (Math.round(this.green * 255)).toString(16).padStart(2, '0');
|
|
20
|
+
let hex_b = (Math.round(this.blue * 255)).toString(16).padStart(2, '0');
|
|
21
|
+
let hex_a = '';
|
|
22
|
+
if (this.alpha != 1) {
|
|
23
|
+
hex_a = (Math.round(this.alpha * 255)).toString(16).padStart(2, '0');
|
|
24
|
+
}
|
|
25
|
+
return '#' + hex_r + hex_g + hex_b + hex_a;
|
|
26
|
+
}
|
|
27
|
+
toCSS() {
|
|
28
|
+
// e. g. Color(1, 1, 1, 1).toCSS() == 'rgba(255, 255, 255, 1)'
|
|
29
|
+
// CSS rgb values go from 0 to 255, the alpha value from 0 to 1
|
|
30
|
+
return `rgba(${255 * this.red}, ${255 * this.green}, ${255 * this.blue}, ${this.alpha})`;
|
|
31
|
+
}
|
|
32
|
+
toString() {
|
|
33
|
+
return this.toCSS();
|
|
34
|
+
}
|
|
35
|
+
withAlpha(a, premultiplied = false) {
|
|
36
|
+
return new Color(this.red, this.green, this.blue, premultiplied ? a * this.alpha : a);
|
|
37
|
+
}
|
|
38
|
+
static fromHex(hex) {
|
|
39
|
+
let r = parseInt('0x' + hex.slice(1, 2)) / 255;
|
|
40
|
+
let g = parseInt('0x' + hex.slice(3, 2)) / 255;
|
|
41
|
+
let b = parseInt('0x' + hex.slice(5, 2)) / 255;
|
|
42
|
+
let a = 1;
|
|
43
|
+
if (hex.length > 7) {
|
|
44
|
+
a = parseInt('0x' + hex.slice(7, 2)) / 255;
|
|
45
|
+
}
|
|
46
|
+
return new Color(r, g, b, a);
|
|
47
|
+
}
|
|
48
|
+
// Color palette
|
|
49
|
+
static clear() { return new Color(0, 0, 0, 0); }
|
|
50
|
+
static black() { return Color.gray(0); }
|
|
51
|
+
static white() { return Color.gray(1); }
|
|
52
|
+
static red() { return new Color(1, 0, 0); }
|
|
53
|
+
static orange() { return new Color(1, 0.5, 0); }
|
|
54
|
+
static yellow() { return new Color(1, 1, 0); }
|
|
55
|
+
static green() { return new Color(0, 1, 0); }
|
|
56
|
+
static blue() { return new Color(0, 0, 1); }
|
|
57
|
+
static indigo() { return new Color(0.5, 0, 1); }
|
|
58
|
+
static purple() { return new Color(1, 0, 1); }
|
|
59
|
+
static space() {
|
|
60
|
+
throw 'No color out of space';
|
|
61
|
+
}
|
|
62
|
+
// Methods for creating new colors
|
|
63
|
+
static gray(x) { return new Color(x, x, x); }
|
|
64
|
+
static random() { return new Color(Math.random(), Math.random(), Math.random(), 1); }
|
|
65
|
+
static randomGray() { return Color.gray(Math.random()); }
|
|
66
|
+
interpolate(newColor, weight) {
|
|
67
|
+
return new Color((1 - weight) * this.red + weight * newColor.red, (1 - weight) * this.green + weight * newColor.green, (1 - weight) * this.blue + weight * newColor.blue, (1 - weight) * this.alpha + weight * newColor.alpha);
|
|
68
|
+
}
|
|
69
|
+
static hsv_to_rgb(hue, saturation, value) {
|
|
70
|
+
let deg60 = TAU / 6;
|
|
71
|
+
let C = saturation * value;
|
|
72
|
+
let X = C * (1 - Math.abs((hue / deg60) % 2 - 1));
|
|
73
|
+
let m = value - C;
|
|
74
|
+
var rPrime = 0;
|
|
75
|
+
var gPrime = 0;
|
|
76
|
+
var bPrime = 0;
|
|
77
|
+
if (hue < deg60) {
|
|
78
|
+
rPrime = C;
|
|
79
|
+
gPrime = X;
|
|
80
|
+
}
|
|
81
|
+
else if (hue < 2 * deg60) {
|
|
82
|
+
rPrime = X;
|
|
83
|
+
gPrime = C;
|
|
84
|
+
}
|
|
85
|
+
else if (hue < 3 * deg60) {
|
|
86
|
+
gPrime = C;
|
|
87
|
+
bPrime = X;
|
|
88
|
+
}
|
|
89
|
+
else if (hue < 4 * deg60) {
|
|
90
|
+
gPrime = X;
|
|
91
|
+
bPrime = C;
|
|
92
|
+
}
|
|
93
|
+
else if (hue < 5 * deg60) {
|
|
94
|
+
rPrime = X;
|
|
95
|
+
bPrime = C;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
rPrime = C;
|
|
99
|
+
bPrime = X;
|
|
100
|
+
}
|
|
101
|
+
let red = Math.min(rPrime + m, 1);
|
|
102
|
+
let green = Math.min(gPrime + m, 1);
|
|
103
|
+
let blue = Math.min(bPrime + m, 1);
|
|
104
|
+
return [red, green, blue];
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=Color.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Color.js","sourceRoot":"","sources":["../../src/views/Color.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { BetterObject } from '@bhbr/better-things';
|
|
2
|
+
import { vertex, Transform } from '@bhbr/affr2';
|
|
3
|
+
import { View } from './View.js';
|
|
4
|
+
export declare class Frame extends BetterObject {
|
|
5
|
+
transform: Transform;
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
view?: View;
|
|
9
|
+
defaults(): object;
|
|
10
|
+
get anchor(): vertex;
|
|
11
|
+
set anchor(newValue: vertex);
|
|
12
|
+
get parent(): Frame | null;
|
|
13
|
+
contains(p: vertex, margin?: number): boolean;
|
|
14
|
+
relativeTransform(frame?: Frame): Transform;
|
|
15
|
+
transformLocalPoint(point: vertex, frame?: Frame): vertex;
|
|
16
|
+
viewULCorner(frame?: Frame): vertex;
|
|
17
|
+
viewURCorner(frame?: Frame): vertex;
|
|
18
|
+
viewLLCorner(frame?: Frame): vertex;
|
|
19
|
+
viewLRCorner(frame?: Frame): vertex;
|
|
20
|
+
viewXMin(frame?: Frame): number;
|
|
21
|
+
viewXMax(frame?: Frame): number;
|
|
22
|
+
viewYMin(frame?: Frame): number;
|
|
23
|
+
viewYMax(frame?: Frame): number;
|
|
24
|
+
viewCenter(frame?: Frame): vertex;
|
|
25
|
+
viewMidX(frame?: Frame): number;
|
|
26
|
+
viewMidY(frame?: Frame): number;
|
|
27
|
+
viewLeftCenter(frame?: Frame): vertex;
|
|
28
|
+
viewRightCenter(frame?: Frame): vertex;
|
|
29
|
+
viewTopCenter(frame?: Frame): vertex;
|
|
30
|
+
viewBottomCenter(frame?: Frame): vertex;
|
|
31
|
+
ulCorner(frame?: Frame): vertex;
|
|
32
|
+
urCorner(frame?: Frame): vertex;
|
|
33
|
+
llCorner(frame?: Frame): vertex;
|
|
34
|
+
lrCorner(frame?: Frame): vertex;
|
|
35
|
+
xMin(frame?: Frame): number;
|
|
36
|
+
xMax(frame?: Frame): number;
|
|
37
|
+
yMin(frame?: Frame): number;
|
|
38
|
+
yMax(frame?: Frame): number;
|
|
39
|
+
center(frame?: Frame): vertex;
|
|
40
|
+
midX(frame?: Frame): number;
|
|
41
|
+
midY(frame?: Frame): number;
|
|
42
|
+
leftCenter(frame?: Frame): vertex;
|
|
43
|
+
rightCenter(frame?: Frame): vertex;
|
|
44
|
+
topCenter(frame?: Frame): vertex;
|
|
45
|
+
bottomCenter(frame?: Frame): vertex;
|
|
46
|
+
localULCorner(): vertex;
|
|
47
|
+
localURCorner(): vertex;
|
|
48
|
+
localLLCorner(): vertex;
|
|
49
|
+
localLRCorner(): vertex;
|
|
50
|
+
localXMin(): number;
|
|
51
|
+
localXMax(): number;
|
|
52
|
+
localYMin(): number;
|
|
53
|
+
localYMax(): number;
|
|
54
|
+
localCenter(): vertex;
|
|
55
|
+
localMidX(): number;
|
|
56
|
+
localMidY(): number;
|
|
57
|
+
localLeftCenter(): vertex;
|
|
58
|
+
localRightCenter(): vertex;
|
|
59
|
+
localTopCenter(): vertex;
|
|
60
|
+
localBottomCenter(): vertex;
|
|
61
|
+
getWidth(): number;
|
|
62
|
+
getHeight(): number;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=Frame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Frame.d.ts","sourceRoot":"","sources":["../../src/views/Frame.ts"],"names":[],"mappings":"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"}
|