22#define M_PI 3.14159265358979323846
25#define STRINGIFY(x) #x
26#define TOSTRING(x) STRINGIFY(x)
27#define S__GIT_TIMESTAMP TOSTRING(GIT_TIMESTAMP)
28#define S__GIT_COMMIT_HASH TOSTRING(GIT_CURRENT_SHA1)
55enum class DotColorType {
68enum StabilizationLevel
83enum class LayerVisibility
91inline LayerVisibility& operator++(LayerVisibility& vis)
93 return vis = (vis == LayerVisibility::ALL) ? LayerVisibility::CURRENTONLY :
static_cast<LayerVisibility
>(
static_cast<int>(vis)+1);
96inline LayerVisibility& operator--(LayerVisibility& vis)
98 return vis = (vis == LayerVisibility::CURRENTONLY) ? LayerVisibility::ALL :
static_cast<LayerVisibility
>(
static_cast<int>(vis)-1);
102const static int MaxFramesBound = 9999;
105#define CMD_NEW_FILE "CmdNewFile"
106#define CMD_OPEN_FILE "CmdOpenFile"
107#define CMD_SAVE_FILE "CmdSaveFile"
108#define CMD_SAVE_AS "CmdSaveAs"
109#define CMD_IMPORT_IMAGE "CmdImportImage"
110#define CMD_IMPORT_IMAGE_SEQ "CmdImportImageSequence"
111#define CMD_IMPORT_IMAGE_PREDEFINED_SET "CmdImportImagePredefinedSet"
112#define CMD_IMPORT_MOVIE_VIDEO "CmdImportMovieVideo"
113#define CMD_IMPORT_ANIMATED_IMAGE "CmdImportAnimatedImage"
114#define CMD_IMPORT_LAYERS "CmdImportLayers"
115#define CMD_IMPORT_SOUND "CmdImportSound"
116#define CMD_IMPORT_MOVIE_AUDIO "CmdImportMovieAudio"
117#define CMD_IMPORT_PALETTE "CmdImportPalette"
118#define CMD_IMPORT_PALETTE_REPLACE "CmdImportPaletteReplace"
119#define CMD_EXPORT_IMAGE_SEQ "CmdExportImageSequence"
120#define CMD_EXPORT_IMAGE "CmdExportImage"
121#define CMD_EXPORT_MOVIE "CmdExportMovie"
122#define CMD_EXPORT_GIF "CmdExportGIF"
123#define CMD_EXPORT_PALETTE "CmdExportPalette"
124#define CMD_UNDO "CmdUndo"
125#define CMD_REDO "CmdRedo"
126#define CMD_CUT "CmdCut"
127#define CMD_COPY "CmdCopy"
128#define CMD_PASTE "CmdPaste"
129#define CMD_PASTE_FROM_PREVIOUS "CmdPasteFromPrevious"
130#define CMD_SELECT_ALL "CmdSelectAll"
131#define CMD_DESELECT_ALL "CmdDeselectAll"
132#define CMD_CLEAR_FRAME "CmdClearFrame"
133#define CMD_PEGBAR_ALIGNMENT "CmdPegBarAlignment"
134#define CMD_PREFERENCE "CmdPreferences"
135#define CMD_RESET_WINDOWS "CmdResetWindows"
136#define CMD_LOCK_WINDOWS "CmdLockWindows"
137#define CMD_ZOOM_IN "CmdZoomIn"
138#define CMD_ZOOM_OUT "CmdZoomOut"
139#define CMD_ROTATE_CLOCK "CmdRotateClockwise"
140#define CMD_ROTATE_ANTI_CLOCK "CmdRotateAntiClockwise"
141#define CMD_RESET_ROTATION "CmdResetRotation"
142#define CMD_RESET_ZOOM_ROTATE "CmdResetZoomRotate"
143#define CMD_CENTER_VIEW "CmdCenterView"
144#define CMD_ZOOM_400 "CmdZoom400"
145#define CMD_ZOOM_300 "CmdZoom300"
146#define CMD_ZOOM_200 "CmdZoom200"
147#define CMD_ZOOM_100 "CmdZoom100"
148#define CMD_ZOOM_50 "CmdZoom50"
149#define CMD_ZOOM_33 "CmdZoom33"
150#define CMD_ZOOM_25 "CmdZoom25"
151#define CMD_FLIP_HORIZONTAL "CmdFlipHorizontal"
152#define CMD_FLIP_VERTICAL "CmdFlipVertical"
153#define CMD_GRID "CmdGrid"
154#define CMD_OVERLAY_CENTER "CmdOverlayCenter"
155#define CMD_OVERLAY_THIRDS "CmdOverlayThirds"
156#define CMD_OVERLAY_GOLDEN_RATIO "CmdOverlayGoldenRatio"
157#define CMD_OVERLAY_SAFE_AREAS "CmdOverlaySafeAreas"
158#define CMD_OVERLAY_ONE_POINT_PERSPECTIVE "CmdOverlayOnePointPerspective"
159#define CMD_OVERLAY_TWO_POINT_PERSPECTIVE "CmdOverlayTwoPointPerspective"
160#define CMD_OVERLAY_THREE_POINT_PERSPECTIVE "CmdOverlayThreePointPerspective"
161#define CMD_ONIONSKIN_PREV "CmdOnionSkinPrevious"
162#define CMD_ONIONSKIN_NEXT "CmdOnionSkinNext"
163#define CMD_TOGGLE_STATUS_BAR "CmdToggleStatusBar"
164#define CMD_PLAY "CmdPlay"
165#define CMD_LOOP "CmdLoop"
166#define CMD_LOOP_CONTROL "CmdLoopControl"
167#define CMD_FLIP_INBETWEEN "CmdFlipInBetween"
168#define CMD_FLIP_ROLLING "CmdFlipRolling"
169#define CMD_GOTO_NEXT_FRAME "CmdGotoNextFrame"
170#define CMD_GOTO_PREV_FRAME "CmdGotoPreviousFrame"
171#define CMD_GOTO_NEXT_KEY_FRAME "CmdGotoNextKeyFrame"
172#define CMD_GOTO_PREV_KEY_FRAME "CmdGotoPreviousKeyFrame"
173#define CMD_ADD_FRAME "CmdAddFrame"
174#define CMD_DUPLICATE_FRAME "CmdDuplicateFrame"
175#define CMD_REMOVE_FRAME "CmdRemoveFrame"
176#define CMD_REVERSE_SELECTED_FRAMES "CmdReverseSelectedFrames"
177#define CMD_REMOVE_SELECTED_FRAMES "CmdRemoveSelectedFrames"
178#define CMD_SELECTION_REPOSITION_FRAMES "CmdSelectionRepositionFrames"
179#define CMD_SELECTION_ADD_FRAME_EXPOSURE "CmdSelectionAddFrameExposure"
180#define CMD_SELECTION_SUBTRACT_FRAME_EXPOSURE "CmdSelectionSubtractFrameExposure"
181#define CMD_SELECTION_FLIP_HORIZONTAL "CmdSelectionFlipHorizontal"
182#define CMD_SELECTION_FLIP_VERTICAL "CmdSelectionFlipVertical"
183#define CMD_MOVE_FRAME_BACKWARD "CmdMoveFrameBackward"
184#define CMD_MOVE_FRAME_FORWARD "CmdMoveFrameForward"
185#define CMD_TOOL_MOVE "CmdToolMove"
186#define CMD_TOOL_SELECT "CmdToolSelect"
187#define CMD_TOOL_BRUSH "CmdToolBrush"
188#define CMD_TOOL_POLYLINE "CmdToolPolyline"
189#define CMD_TOOL_SMUDGE "CmdToolSmudge"
190#define CMD_TOOL_PEN "CmdToolPen"
191#define CMD_TOOL_HAND "CmdToolHand"
192#define CMD_TOOL_PENCIL "CmdToolPencil"
193#define CMD_TOOL_BUCKET "CmdToolBucket"
194#define CMD_TOOL_EYEDROPPER "CmdToolEyedropper"
195#define CMD_TOOL_ERASER "CmdToolEraser"
196#define CMD_RESET_ALL_TOOLS "CmdResetAllTools"
197#define CMD_NEW_BITMAP_LAYER "CmdNewBitmapLayer"
198#define CMD_NEW_VECTOR_LAYER "CmdNewVectorLayer"
199#define CMD_NEW_SOUND_LAYER "CmdNewSoundLayer"
200#define CMD_NEW_CAMERA_LAYER "CmdNewCameraLayer"
201#define CMD_DELETE_CUR_LAYER "CmdDeleteCurrentLayer"
202#define CMD_CHANGE_LINE_COLOR_KEYFRAME "CmdChangeLineColorKeyframe"
203#define CMD_CHANGE_LINE_COLOR_LAYER "CmdChangeLineColorLayer"
204#define CMD_CHANGE_LAYER_OPACITY "CmdChangeLayerOpacity"
205#define CMD_CURRENT_LAYER_VISIBILITY "CmdLayerVisibilityCurrentOnly"
206#define CMD_RELATIVE_LAYER_VISIBILITY "CmdLayerVisibilityRelative"
207#define CMD_ALL_LAYER_VISIBILITY "CmdLayerVisibilityAll"
208#define CMD_HELP "CmdHelp"
209#define CMD_TOGGLE_TOOLBOX "CmdToggleToolBox"
210#define CMD_TOGGLE_TOOL_OPTIONS "CmdToggleToolOptions"
211#define CMD_TOGGLE_COLOR_WHEEL "CmdToggleColorWheel"
212#define CMD_TOGGLE_COLOR_INSPECTOR "CmdToggleColorInspector"
213#define CMD_TOGGLE_COLOR_LIBRARY "CmdToggleColorLibrary"
214#define CMD_TOGGLE_ONION_SKIN "CmdToggleOnionSkin"
215#define CMD_TOGGLE_TIMELINE "CmdToggleTimeline"
216#define CMD_INCREASE_SIZE "CmdIncreaseSize"
217#define CMD_DECREASE_SIZE "CmdDecreaseSize"
218#define CMD_EXIT "CmdExit"
221#define LAST_PCLX_PATH "LastFilePath"
224#define IMPORT_REPOSITION_TYPE "ImportRepositionType"
227#define PENCIL2D "Pencil"
228#define SHORTCUTS_GROUP "Shortcuts"
229#define SETTING_AUTO_SAVE "AutoSave"
230#define SETTING_AUTO_SAVE_NUMBER "AutosaveNumber"
231#define SETTING_TOOL_CURSOR "ToolCursors"
232#define SETTING_CANVAS_CURSOR "DottedCursors"
233#define SETTING_HIGH_RESOLUTION "HighResPosition"
234#define SETTING_BACKGROUND_STYLE "Background"
235#define SETTING_WINDOW_OPACITY "WindowOpacity"
236#define SETTING_WINDOW_GEOMETRY "WindowGeometry"
237#define SETTING_WINDOW_STATE "WindowState"
238#define SETTING_SHOW_STATUS_BAR "ShowStatusBar"
239#define SETTING_CURVE_SMOOTHING "CurveSmoothing"
240#define SETTING_DISPLAY_EFFECT "RenderEffect"
241#define SETTING_SHORT_SCRUB "ShortScrub"
242#define SETTING_FPS "Fps"
243#define SETTING_FIELD_W "FieldW"
244#define SETTING_FIELD_H "FieldH"
245#define SETTING_FRAME_SIZE "FrameSize"
246#define SETTING_TIMELINE_SIZE "TimelineSize"
247#define SETTING_LABEL_FONT_SIZE "LabelFontSize"
248#define SETTING_DRAW_LABEL "DrawLabel"
249#define SETTING_QUICK_SIZING "QuickSizing"
250#define SETTING_LAYOUT_LOCK "LayoutLock"
251#define SETTING_ROTATION_INCREMENT "RotationIncrement"
252#define SETTING_SHOW_SELECTION_INFO "ShowSelectionInfo"
253#define SETTING_ASK_FOR_PRESET "AskForPreset"
254#define SETTING_LOAD_MOST_RECENT "LoadMostRecent"
255#define SETTING_LOAD_DEFAULT_PRESET "LoadDefaultPreset"
256#define SETTING_DEFAULT_PRESET "DefaultPreset"
258#define SETTING_INVERT_DRAG_ZOOM_DIRECTION "InvertDragZoomDirection"
259#define SETTING_INVERT_SCROLL_ZOOM_DIRECTION "InvertScrollZoomDirection"
261#define SETTING_ANTIALIAS "Antialiasing"
262#define SETTING_SHOW_GRID "ShowGrid"
263#define SETTING_COUNT "Count"
264#define SETTING_SHADOW "Shadow"
265#define SETTING_PREV_ONION "PrevOnion"
266#define SETTING_NEXT_ONION "NextOnion"
267#define SETTING_MULTILAYER_ONION "MultilayerOnion"
268#define SETTING_AXIS "Axis"
269#define SETTING_CAMERABORDER "CameraBorder"
270#define SETTING_INVISIBLE_LINES "InvisibleLines"
271#define SETTING_OUTLINES "Outlines"
272#define SETTING_ONION_BLUE "OnionBlue"
273#define SETTING_ONION_RED "OnionRed"
275#define SETTING_FRAME_POOL_SIZE "FramePoolSizeInMB"
276#define SETTING_GRID_SIZE_W "GridSizeW"
277#define SETTING_GRID_SIZE_H "GridSizeH"
278#define SETTING_OVERLAY_CENTER "OverlayCenter"
279#define SETTING_OVERLAY_THIRDS "OverlayThirds"
280#define SETTING_OVERLAY_GOLDEN "OverlayGolden"
281#define SETTING_OVERLAY_SAFE "OverlaySafe"
282#define SETTING_OVERLAY_PERSPECTIVE1 "OverlayPerspective1"
283#define SETTING_OVERLAY_PERSPECTIVE2 "OverlayPerspective2"
284#define SETTING_OVERLAY_PERSPECTIVE3 "OverlayPerspective3"
285#define SETTING_OVERLAY_ANGLE "OverlayAngle"
286#define SETTING_TITLE_SAFE_ON "TitleSafeOn"
287#define SETTING_TITLE_SAFE "TitleSafe"
288#define SETTING_ACTION_SAFE_ON "ActionSafeOn"
289#define SETTING_ACTION_SAFE "ActionSafe"
290#define SETTING_OVERLAY_SAFE_HELPER_TEXT_ON "OverlaySafeHelperTextOn"
291#define SETTING_TIMECODE_TEXT "TimecodeText"
293#define SETTING_ONION_MAX_OPACITY "OnionMaxOpacity"
294#define SETTING_ONION_MIN_OPACITY "OnionMinOpacity"
295#define SETTING_ONION_PREV_FRAMES_NUM "OnionPrevFramesNum"
296#define SETTING_ONION_NEXT_FRAMES_NUM "OnionNextFramesNum"
297#define SETTING_ONION_WHILE_PLAYBACK "OnionWhilePlayback"
298#define SETTING_ONION_TYPE "OnionType"
299#define SETTING_FLIP_ROLL_MSEC "FlipRoll"
300#define SETTING_FLIP_ROLL_DRAWINGS "FlipRollDrawings"
301#define SETTING_FLIP_INBETWEEN_MSEC "FlipInbetween"
302#define SETTING_SOUND_SCRUB_ACTIVE "SoundScrubActive"
303#define SETTING_SOUND_SCRUB_MSEC "SoundScrubMsec"
304#define SETTING_NEW_UNDO_REDO_ON "NewUndoRedoOn"
305#define SETTING_UNDO_REDO_MAX_STEPS "UndoRedoMaxSteps"
307#define SETTING_LAYER_VISIBILITY "LayerVisibility"
308#define SETTING_LAYER_VISIBILITY_THRESHOLD "LayerVisibilityThreshold"
310#define SETTING_DRAW_ON_EMPTY_FRAME_ACTION "DrawOnEmptyFrameAction"
312#define SETTING_LANGUAGE "Language"