260719_9
This commit is contained in:
@@ -121,15 +121,29 @@ let hoveredSnapPoints: HoverPoint[] = [];
|
||||
let lastDrawTimestamp: DOMHighResTimeStamp = 0;
|
||||
|
||||
/**
|
||||
* Active line color
|
||||
* Active line color (7-char hex so <input type="color"> can consume it directly)
|
||||
*/
|
||||
let activeLineColor = '#fff';
|
||||
let activeLineColor = '#ffffff';
|
||||
|
||||
/**
|
||||
* Active line width
|
||||
*/
|
||||
let activeLineWidth = 1;
|
||||
|
||||
/**
|
||||
* Active line dash pattern (screen px). undefined → solid line
|
||||
*/
|
||||
let activeLineDash: number[] | undefined = undefined;
|
||||
|
||||
/**
|
||||
* Active text style defaults applied to newly created text and selected text entities
|
||||
*/
|
||||
let activeTextStyle = {
|
||||
fontFamily: 'Noto Sans KR',
|
||||
fontSize: 16,
|
||||
textColor: '#ffffff',
|
||||
};
|
||||
|
||||
/**
|
||||
* Layers that can contain entities
|
||||
*/
|
||||
@@ -170,6 +184,8 @@ export const getHoveredSnapPoints = () => hoveredSnapPoints;
|
||||
export const getLastDrawTimestamp = () => lastDrawTimestamp;
|
||||
export const getActiveLineColor = () => activeLineColor;
|
||||
export const getActiveLineWidth = () => activeLineWidth;
|
||||
export const getActiveLineDash = () => activeLineDash;
|
||||
export const getActiveTextStyle = () => activeTextStyle;
|
||||
export const getScreenCanvasDrawController = (): ScreenCanvasDrawController => {
|
||||
if (!screenCanvasDrawController) {
|
||||
throw new Error('getScreenCanvasDrawController() returned null');
|
||||
@@ -331,6 +347,23 @@ export const setActiveLineWidth = (newWidth: number, triggerReact = true) => {
|
||||
triggerReactUpdate(StateVariable.activeLineWidth);
|
||||
}
|
||||
};
|
||||
export const setActiveLineDash = (newDash: number[] | undefined, triggerReact = true) => {
|
||||
activeLineDash = newDash;
|
||||
|
||||
if (triggerReact) {
|
||||
triggerReactUpdate(StateVariable.activeLineDash);
|
||||
}
|
||||
};
|
||||
export const setActiveTextStyle = (
|
||||
newStyle: Partial<typeof activeTextStyle>,
|
||||
triggerReact = true
|
||||
) => {
|
||||
activeTextStyle = { ...activeTextStyle, ...newStyle };
|
||||
|
||||
if (triggerReact) {
|
||||
triggerReactUpdate(StateVariable.activeTextStyle);
|
||||
}
|
||||
};
|
||||
export const setLayers = (newLayers: Layer[], triggerReact = true) => {
|
||||
layers = newLayers;
|
||||
|
||||
@@ -379,6 +412,8 @@ const reactStateVariables: StateVariable[] = [
|
||||
StateVariable.angleStep,
|
||||
StateVariable.activeLineColor,
|
||||
StateVariable.activeLineWidth,
|
||||
StateVariable.activeLineDash,
|
||||
StateVariable.activeTextStyle,
|
||||
StateVariable.screenZoom,
|
||||
StateVariable.layers,
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user