This line from the ptr patch notes particularly took my attention.
we've been given the following natives to play with in JASS, but how do we even use them?;
constant originframetype ORIGIN_FRAME_GAME_UI = ConvertOriginFrameType(0)
constant originframetype ORIGIN_FRAME_COMMAND_BUTTON = ConvertOriginFrameType(1)
constant originframetype ORIGIN_FRAME_HERO_BAR = ConvertOriginFrameType(2)
constant originframetype ORIGIN_FRAME_HERO_BUTTON = ConvertOriginFrameType(3)
constant originframetype ORIGIN_FRAME_HERO_HP_BAR = ConvertOriginFrameType(4)
constant originframetype ORIGIN_FRAME_HERO_MANA_BAR = ConvertOriginFrameType(5)
constant originframetype ORIGIN_FRAME_HERO_BUTTON_INDICATOR = ConvertOriginFrameType(6)
constant originframetype ORIGIN_FRAME_ITEM_BUTTON = ConvertOriginFrameType(7)
constant originframetype ORIGIN_FRAME_MINIMAP = ConvertOriginFrameType(8)
constant originframetype ORIGIN_FRAME_MINIMAP_BUTTON = ConvertOriginFrameType(9)
constant originframetype ORIGIN_FRAME_SYSTEM_BUTTON = ConvertOriginFrameType(10)
constant originframetype ORIGIN_FRAME_TOOLTIP = ConvertOriginFrameType(11)
constant originframetype ORIGIN_FRAME_UBERTOOLTIP = ConvertOriginFrameType(12)
constant originframetype ORIGIN_FRAME_CHAT_MSG = ConvertOriginFrameType(13)
constant originframetype ORIGIN_FRAME_UNIT_MSG = ConvertOriginFrameType(14)
constant originframetype ORIGIN_FRAME_TOP_MSG = ConvertOriginFrameType(15)
constant originframetype ORIGIN_FRAME_PORTRAIT = ConvertOriginFrameType(16)
constant originframetype ORIGIN_FRAME_WORLD_FRAME = ConvertOriginFrameType(17)
constant framepointtype FRAMEPOINT_TOPLEFT = ConvertFramePointType(0)
constant framepointtype FRAMEPOINT_TOP = ConvertFramePointType(1)
constant framepointtype FRAMEPOINT_TOPRIGHT = ConvertFramePointType(2)
constant framepointtype FRAMEPOINT_LEFT = ConvertFramePointType(3)
constant framepointtype FRAMEPOINT_CENTER = ConvertFramePointType(4)
constant framepointtype FRAMEPOINT_RIGHT = ConvertFramePointType(5)
constant framepointtype FRAMEPOINT_BOTTOMLEFT = ConvertFramePointType(6)
constant framepointtype FRAMEPOINT_BOTTOM = ConvertFramePointType(7)
constant framepointtype FRAMEPOINT_BOTTOMRIGHT = ConvertFramePointType(8)
constant textaligntype TEXT_JUSTIFY_TOP = ConvertTextAlignType(0)
constant textaligntype TEXT_JUSTIFY_MIDDLE = ConvertTextAlignType(1)
constant textaligntype TEXT_JUSTIFY_BOTTOM = ConvertTextAlignType(2)
constant textaligntype TEXT_JUSTIFY_LEFT = ConvertTextAlignType(3)
constant textaligntype TEXT_JUSTIFY_CENTER = ConvertTextAlignType(4)
constant textaligntype TEXT_JUSTIFY_RIGHT = ConvertTextAlignType(5)
constant frameeventtype FRAMEEVENT_CONTROL_CLICK = ConvertFrameEventType(1)
constant frameeventtype FRAMEEVENT_MOUSE_ENTER = ConvertFrameEventType(2)
constant frameeventtype FRAMEEVENT_MOUSE_LEAVE = ConvertFrameEventType(3)
constant frameeventtype FRAMEEVENT_MOUSE_UP = ConvertFrameEventType(4)
constant frameeventtype FRAMEEVENT_MOUSE_DOWN = ConvertFrameEventType(5)
constant frameeventtype FRAMEEVENT_MOUSE_WHEEL = ConvertFrameEventType(6)
constant frameeventtype FRAMEEVENT_CHECKBOX_CHECKED = ConvertFrameEventType(7)
constant frameeventtype FRAMEEVENT_CHECKBOX_UNCHECKED = ConvertFrameEventType(8)
constant frameeventtype FRAMEEVENT_EDITBOX_TEXT_CHANGED = ConvertFrameEventType(9)
constant frameeventtype FRAMEEVENT_POPUPMENU_ITEM_CHANGED = ConvertFrameEventType(10)
constant frameeventtype FRAMEEVENT_MOUSE_DOUBLECLICK = ConvertFrameEventType(11)
constant frameeventtype FRAMEEVENT_SPRITE_ANIM_UPDATE = ConvertFrameEventType(12)
constant frameeventtype FRAMEEVENT_SLIDER_VALUE_CHANGED = ConvertFrameEventType(13)
constant frameeventtype FRAMEEVENT_DIALOG_CANCEL = ConvertFrameEventType(14)
constant frameeventtype FRAMEEVENT_DIALOG_ACCEPT = ConvertFrameEventType(15)
constant frameeventtype FRAMEEVENT_EDITBOX_ENTER = ConvertFrameEventType(16)
we've been given the following natives to play with in JASS, but how do we even use them?;
constant originframetype ORIGIN_FRAME_GAME_UI = ConvertOriginFrameType(0)
constant originframetype ORIGIN_FRAME_COMMAND_BUTTON = ConvertOriginFrameType(1)
constant originframetype ORIGIN_FRAME_HERO_BAR = ConvertOriginFrameType(2)
constant originframetype ORIGIN_FRAME_HERO_BUTTON = ConvertOriginFrameType(3)
constant originframetype ORIGIN_FRAME_HERO_HP_BAR = ConvertOriginFrameType(4)
constant originframetype ORIGIN_FRAME_HERO_MANA_BAR = ConvertOriginFrameType(5)
constant originframetype ORIGIN_FRAME_HERO_BUTTON_INDICATOR = ConvertOriginFrameType(6)
constant originframetype ORIGIN_FRAME_ITEM_BUTTON = ConvertOriginFrameType(7)
constant originframetype ORIGIN_FRAME_MINIMAP = ConvertOriginFrameType(8)
constant originframetype ORIGIN_FRAME_MINIMAP_BUTTON = ConvertOriginFrameType(9)
constant originframetype ORIGIN_FRAME_SYSTEM_BUTTON = ConvertOriginFrameType(10)
constant originframetype ORIGIN_FRAME_TOOLTIP = ConvertOriginFrameType(11)
constant originframetype ORIGIN_FRAME_UBERTOOLTIP = ConvertOriginFrameType(12)
constant originframetype ORIGIN_FRAME_CHAT_MSG = ConvertOriginFrameType(13)
constant originframetype ORIGIN_FRAME_UNIT_MSG = ConvertOriginFrameType(14)
constant originframetype ORIGIN_FRAME_TOP_MSG = ConvertOriginFrameType(15)
constant originframetype ORIGIN_FRAME_PORTRAIT = ConvertOriginFrameType(16)
constant originframetype ORIGIN_FRAME_WORLD_FRAME = ConvertOriginFrameType(17)
constant framepointtype FRAMEPOINT_TOPLEFT = ConvertFramePointType(0)
constant framepointtype FRAMEPOINT_TOP = ConvertFramePointType(1)
constant framepointtype FRAMEPOINT_TOPRIGHT = ConvertFramePointType(2)
constant framepointtype FRAMEPOINT_LEFT = ConvertFramePointType(3)
constant framepointtype FRAMEPOINT_CENTER = ConvertFramePointType(4)
constant framepointtype FRAMEPOINT_RIGHT = ConvertFramePointType(5)
constant framepointtype FRAMEPOINT_BOTTOMLEFT = ConvertFramePointType(6)
constant framepointtype FRAMEPOINT_BOTTOM = ConvertFramePointType(7)
constant framepointtype FRAMEPOINT_BOTTOMRIGHT = ConvertFramePointType(8)
constant textaligntype TEXT_JUSTIFY_TOP = ConvertTextAlignType(0)
constant textaligntype TEXT_JUSTIFY_MIDDLE = ConvertTextAlignType(1)
constant textaligntype TEXT_JUSTIFY_BOTTOM = ConvertTextAlignType(2)
constant textaligntype TEXT_JUSTIFY_LEFT = ConvertTextAlignType(3)
constant textaligntype TEXT_JUSTIFY_CENTER = ConvertTextAlignType(4)
constant textaligntype TEXT_JUSTIFY_RIGHT = ConvertTextAlignType(5)
constant frameeventtype FRAMEEVENT_CONTROL_CLICK = ConvertFrameEventType(1)
constant frameeventtype FRAMEEVENT_MOUSE_ENTER = ConvertFrameEventType(2)
constant frameeventtype FRAMEEVENT_MOUSE_LEAVE = ConvertFrameEventType(3)
constant frameeventtype FRAMEEVENT_MOUSE_UP = ConvertFrameEventType(4)
constant frameeventtype FRAMEEVENT_MOUSE_DOWN = ConvertFrameEventType(5)
constant frameeventtype FRAMEEVENT_MOUSE_WHEEL = ConvertFrameEventType(6)
constant frameeventtype FRAMEEVENT_CHECKBOX_CHECKED = ConvertFrameEventType(7)
constant frameeventtype FRAMEEVENT_CHECKBOX_UNCHECKED = ConvertFrameEventType(8)
constant frameeventtype FRAMEEVENT_EDITBOX_TEXT_CHANGED = ConvertFrameEventType(9)
constant frameeventtype FRAMEEVENT_POPUPMENU_ITEM_CHANGED = ConvertFrameEventType(10)
constant frameeventtype FRAMEEVENT_MOUSE_DOUBLECLICK = ConvertFrameEventType(11)
constant frameeventtype FRAMEEVENT_SPRITE_ANIM_UPDATE = ConvertFrameEventType(12)
constant frameeventtype FRAMEEVENT_SLIDER_VALUE_CHANGED = ConvertFrameEventType(13)
constant frameeventtype FRAMEEVENT_DIALOG_CANCEL = ConvertFrameEventType(14)
constant frameeventtype FRAMEEVENT_DIALOG_ACCEPT = ConvertFrameEventType(15)
constant frameeventtype FRAMEEVENT_EDITBOX_ENTER = ConvertFrameEventType(16)