constants.ts 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. export const DRAGGING_THRESHOLD = 10; // 10px
  2. export const LINE_CONFIRM_THRESHOLD = 10; // 10px
  3. export const ELEMENT_SHIFT_TRANSLATE_AMOUNT = 5;
  4. export const ELEMENT_TRANSLATE_AMOUNT = 1;
  5. export const TEXT_TO_CENTER_SNAP_THRESHOLD = 30;
  6. export const SHIFT_LOCKING_ANGLE = Math.PI / 12;
  7. export const CURSOR_TYPE = {
  8. TEXT: "text",
  9. CROSSHAIR: "crosshair",
  10. GRABBING: "grabbing",
  11. POINTER: "pointer",
  12. };
  13. export const POINTER_BUTTON = {
  14. MAIN: 0,
  15. WHEEL: 1,
  16. SECONDARY: 2,
  17. TOUCH: -1,
  18. };
  19. export enum SCENE {
  20. INIT = "SCENE_INIT",
  21. UPDATE = "SCENE_UPDATE",
  22. }
  23. export enum EVENT {
  24. COPY = "copy",
  25. PASTE = "paste",
  26. CUT = "cut",
  27. KEYDOWN = "keydown",
  28. KEYUP = "keyup",
  29. MOUSE_MOVE = "mousemove",
  30. RESIZE = "resize",
  31. UNLOAD = "unload",
  32. BLUR = "blur",
  33. DRAG_OVER = "dragover",
  34. DROP = "drop",
  35. GESTURE_END = "gestureend",
  36. BEFORE_UNLOAD = "beforeunload",
  37. GESTURE_START = "gesturestart",
  38. GESTURE_CHANGE = "gesturechange",
  39. POINTER_MOVE = "pointermove",
  40. POINTER_UP = "pointerup",
  41. STATE_CHANGE = "statechange",
  42. WHEEL = "wheel",
  43. TOUCH_START = "touchstart",
  44. TOUCH_END = "touchend",
  45. }
  46. export const ENV = {
  47. TEST: "test",
  48. DEVELOPMENT: "development",
  49. };
  50. export const BROADCAST = {
  51. SERVER_VOLATILE: "server-volatile-broadcast",
  52. SERVER: "server-broadcast",
  53. };
  54. export const CLASSES = {
  55. SHAPE_ACTIONS_MENU: "App-menu__left",
  56. };
  57. // 1-based in case we ever do `if(element.fontFamily)`
  58. export const FONT_FAMILY = {
  59. 1: "Virgil",
  60. 2: "Helvetica",
  61. 3: "Cascadia",
  62. } as const;
  63. export const CANVAS_ONLY_ACTIONS = ["selectAll"];
  64. export const GRID_SIZE = 20; // TODO make it configurable?