'OHRRPGCE - sliceedit.bi '(C) Copyright 1997-2020 James Paige, Ralph Versteegen, and the OHRRPGCE Developers 'Dual licensed under the GNU GPL v2+ and MIT Licenses. Read LICENSE.txt for terms and disclaimer of liability. #IFNDEF SLICEEDIT_BI #DEFINE SLICEEDIT_BI 'Public functions DECLARE SUB slice_editor OVERLOAD (byval group as integer = SL_COLLECT_USERDEFINED, filename as string = "", privileged as bool = NO) DECLARE SUB slice_editor OVERLOAD (byref edslice as Slice Ptr, byval group as integer = SL_COLLECT_USERDEFINED, filename as string = "", recursive as bool = NO, privileged as bool = NO, initial_slice as Slice ptr = NULL) DECLARE FUNCTION slice_collection_picker(initial_id as integer = 0) as integer DECLARE FUNCTION slice_collection_has_changed(sl as Slice ptr, filename as string) as bool DECLARE FUNCTION align_caption(align as AlignType, vertical as bool) as string DECLARE FUNCTION anchor_and_align_string(anchor as AlignType, align as AlignType, vertical as bool) as string DECLARE FUNCTION anchor_and_align_grabber(byref anchor as AlignType, byref align as AlignType) as bool DECLARE FUNCTION slice_color_caption(byval n as integer, ifzero as string="0") as string DECLARE SUB slice_edit_updates (sl as Slice ptr, dataptr as any ptr) DECLARE SUB extra_data_editor(byref extra as integer vector) DECLARE SUB slice_editor_delete_clipboard() 'Globals EXTERN HorizCaptions(3) as string EXTERN VertCaptions(3) as string #IFDEF IS_CUSTOM #include "reload.bi" #include "editorkit.bi" ENUM SlicePropInfoType EXPLICIT section 'This is a section header prop 'This is an actual slice property END ENUM ' This is a copy of enum EditorKitDataType ENUM PropDataType pdtypeNone pdtypeBool pdtypeInt pdtypeStr pdtypeFloat END ENUM ' Store information about a slice property gathered from SlicePropertiesEditor. ' Used by the animation editor only. ' This has a lot of overlap with EditorKitItem. TYPE SlicePropInfo infotype as SlicePropInfoType sltype as SliceTypes 'slNone if shared by all slice types propname as zstring ptr dtype as PropDataType range_min as integer range_max as integer range_min_float as double range_max_float as double value_node as Reload.NodePtr 'The current value, as an orphaned anim_doc node named "value" display as string 'Name of the property, e.g. "Screen X" caption as string 'Caption for the slice's current value of this property custom_caption as bool 'The caption isn't just the value helpkey as string 'description as string DECLARE DESTRUCTOR() END TYPE DECLARE_VECTOR_OF_TYPE(SlicePropInfo, SlicePropInfo) TYPE SlicePropertiesEditor EXTENDS EditorKit sl as Slice ptr ses_draw_root as Slice ptr privileged as bool slicelookup(any) as string 'For gather_properties cur_animkey as string cur_slicetype as SliceTypes display_prefix as string gather_items as SlicePropInfo vector ptr DECLARE CONSTRUCTOR(sl as Slice ptr, ses_draw_root as Slice ptr = NULL) DECLARE SUB finish_defitem() OVERRIDE DECLARE SUB section(title as zstring ptr, add_to_display as bool = NO) DECLARE SUB define_items() DECLARE SUB add_blend_items(byref drawopts as DrawOptions) DECLARE SUB propkey(prop as zstring ptr, helpkey as zstring ptr = NULL, animkey as zstring ptr = NULL) DECLARE SUB set_default(value as integer) DECLARE SUB caption_slice_color(ifzero as string = "0") DECLARE SUB draw_underlays() DECLARE SUB gather_properties(byref into_vector as SlicePropInfo vector) END TYPE #ENDIF 'IS_CUSTOM #ENDIF