import { vec2 , vec4 } from "./vec" ; import { WindowRef } from "./SDL" ; import { Scancode } from "./Keybd" ; export const enum Emulator_Callbacks { new_frame = "new-frame" , core_started = "core-started" , vi_update = "vi-update" , create_resources = "create-resources" } export type bool_ref = boolean [ ] ; export type number_ref = number [ ] ; export type string_ref = string [ ] ; export const enum WindowFlags { None = 0 , NoTitleBar = 1 << 0 , NoResize = 1 << 1 , NoMove = 1 << 2 , NoScrollbar = 1 << 3 , NoScrollWithMouse = 1 << 4 , NoCollapse = 1 << 5 , AlwaysAutoResize = 1 << 6 , NoBackground = 1 << 7 , NoSavedSettings = 1 << 8 , NoMouseInputs = 1 << 9 , MenuBar = 1 << 10 , HorizontalScrollbar = 1 << 11 , NoFocusOnAppearing = 1 << 12 , NoBringToFrontOnFocus = 1 << 13 , AlwaysVerticalScrollbar = 1 << 14 , AlwaysHorizontalScrollbar = 1 << 15 , AlwaysUseWindowPadding = 1 << 16 , NoNavInputs = 1 << 18 , NoNavFocus = 1 << 19 , UnsavedDocument = 1 << 20 , NoDocking = 1 << 21 , NoNav = NoNavInputs | NoNavFocus , NoDecoration = NoTitleBar | NoResize | NoScrollbar | NoCollapse , NoInputs = NoMouseInputs | NoNavInputs | NoNavFocus } export const enum InputTextFlags { None = 0 , CharsDecimal = 1 << 0 , CharsHexadecimal = 1 << 1 , CharsUppercase = 1 << 2 , CharsNoBlank = 1 << 3 , AutoSelectAll = 1 << 4 , EnterReturnsTrue = 1 << 5 , AllowTabInput = 1 << 10 , CtrlEnterForNewLine = 1 << 11 , NoHorizontalScroll = 1 << 12 , AlwaysInsertMode = 1 << 13 , ReadOnly = 1 << 14 , Password = 1 << 15 , NoUndoRedo = 1 << 16 , CharsScientific = 1 << 17 } export const enum TreeNodeFlags { None = 0 , Selected = 1 << 0 , Framed = 1 << 1 , AllowItemOverlap = 1 << 2 , NoTreePushOnOpen = 1 << 3 , NoAutoOpenOnLog = 1 << 4 , DefaultOpen = 1 << 5 , OpenOnDoubleClick = 1 << 6 , OpenOnArrow = 1 << 7 , Leaf = 1 << 8 , Bullet = 1 << 9 , FramePadding = 1 << 10 , SpanAvailWidth = 1 << 11 , SpanFullWidth = 1 << 12 , NavLeftJumpsBackHere = 1 << 13 , CollapsingHeader = Framed | NoTreePushOnOpen | NoAutoOpenOnLog } export const enum PopupFlags { None = 0 , MouseButtonLeft = 0 , MouseButtonRight = 1 , MouseButtonMiddle = 2 , MouseButtonMask_ = 0x1F , MouseButtonDefault_ = 1 , NoOpenOverExistingPopup = 1 << 5 , NoOpenOverItems = 1 << 6 , AnyPopupId = 1 << 7 , AnyPopupLevel = 1 << 8 , AnyPopup = AnyPopupId | AnyPopupLevel } export const enum SelectableFlags { None = 0 , DontClosePopups = 1 << 0 , SpanAllColumns = 1 << 1 , AllowDoubleClick = 1 << 2 , Disabled = 1 << 3 , AllowItemOverlap = 1 << 4 } export const enum ComboFlags { None = 0 , PopupAlignLeft = 1 << 0 , HeightSmall = 1 << 1 , HeightRegular = 1 << 2 , HeightLarge = 1 << 3 , HeightLargest = 1 << 4 , NoArrowButton = 1 << 5 , NoPreview = 1 << 6 } export const enum TabBarFlags { None = 0 , Reorderable = 1 << 0 , AutoSelectNewTabs = 1 << 1 , TabListPopupButton = 1 << 2 , NoCloseWithMiddleMouseButton = 1 << 3 , NoTabListScrollingButtons = 1 << 4 , NoTooltip = 1 << 5 , FittingPolicyResizeDown = 1 << 6 , FittingPolicyScroll = 1 << 7 } export const enum TabItemFlags { None = 0 , UnsavedDocument = 1 << 0 , SetSelected = 1 << 1 , NoCloseWithMiddleMouseButton = 1 << 2 , NoPushId = 1 << 3 , NoTooltip = 1 << 4 } export const enum FocusedFlags { None = 0 , ChildWindows = 1 << 0 , RootWindow = 1 << 1 , AnyWindow = 1 << 2 , RootAndChildWindows = RootWindow | ChildWindows } export const enum HoveredFlags { None = 0 , ChildWindows = 1 << 0 , RootWindow = 1 << 1 , AnyWindow = 1 << 2 , AllowWhenBlockedByPopup = 1 << 3 , AllowWhenBlockedByActiveItem = 1 << 5 , AllowWhenOverlapped = 1 << 6 , AllowWhenDisabled = 1 << 7 , RectOnly = AllowWhenBlockedByPopup | AllowWhenBlockedByActiveItem | AllowWhenOverlapped , RootAndChildWindows = RootWindow | ChildWindows } export const enum DockNodeFlags { None = 0 , KeepAliveOnly = 1 << 0 , NoDockingInCentralNode = 1 << 2 , PassthruCentralNode = 1 << 3 , NoSplit = 1 << 4 , NoResize = 1 << 5 , AutoHideTabBar = 1 << 6 } export const enum Dir { None = - 1 , Left = 0 , Right = 1 , Up = 2 , Down = 3 } export const enum ConfigFlags { None = 0 , NavEnableKeyboard = 1 << 0 , NavEnableGamepad = 1 << 1 , NavEnableSetMousePos = 1 << 2 , NavNoCaptureKeyboard = 1 << 3 , NoMouse = 1 << 4 , NoMouseCursorChange = 1 << 5 , DockingEnable = 1 << 6 , ViewportsEnable = 1 << 10 , DpiEnableScaleViewports = 1 << 14 , DpiEnableScaleFonts = 1 << 15 , IsSRGB = 1 << 20 , IsTouchScreen = 1 << 21 } export const enum BackendFlags { None = 0 , HasGamepad = 1 << 0 , HasMouseCursors = 1 << 1 , HasSetMousePos = 1 << 2 , RendererHasVtxOffset = 1 << 3 , PlatformHasViewports = 1 << 10 , HasMouseHoveredViewport = 1 << 11 , RendererHasViewports = 1 << 12 } export const enum Col { Text , TextDisabled , WindowBg , ChildBg , PopupBg , Border , BorderShadow , FrameBg , FrameBgHovered , FrameBgActive , TitleBg , TitleBgActive , TitleBgCollapsed , MenuBarBg , ScrollbarBg , ScrollbarGrab , ScrollbarGrabHovered , ScrollbarGrabActive , CheckMark , SliderGrab , SliderGrabActive , Button , ButtonHovered , ButtonActive , Header , HeaderHovered , HeaderActive , Separator , SeparatorHovered , SeparatorActive , ResizeGrip , ResizeGripHovered , ResizeGripActive , Tab , TabHovered , TabActive , TabUnfocused , TabUnfocusedActive , DockingPreview , DockingEmptyBg , PlotLines , PlotLinesHovered , PlotHistogram , PlotHistogramHovered , TextSelectedBg , DragDropTarget , NavHighlight , NavWindowingHighlight , NavWindowingDimBg , ModalWindowDimBg } export const enum StyleVar { Alpha , WindowPadding , WindowRounding , WindowBorderSize , WindowMinSize , WindowTitleAlign , ChildRounding , ChildBorderSize , PopupRounding , PopupBorderSize , FramePadding , FrameRounding , FrameBorderSize , ItemSpacing , ItemInnerSpacing , IndentSpacing , ScrollbarSize , ScrollbarRounding , GrabMinSize , GrabRounding , TabRounding , ButtonTextAlign , SelectableTextAlign } export const enum ButtonFlags { None = 0 , MouseButtonLeft = 1 << 0 , MouseButtonRight = 1 << 1 , MouseButtonMiddle = 1 << 2 } export const enum ColorEditFlags { None = 0 , NoAlpha = 1 << 1 , NoPicker = 1 << 2 , NoOptions = 1 << 3 , NoSmallPreview = 1 << 4 , NoInputs = 1 << 5 , NoTooltip = 1 << 6 , NoLabel = 1 << 7 , NoSidePreview = 1 << 8 , NoDragDrop = 1 << 9 , NoBorder = 1 << 10 , AlphaBar = 1 << 16 , AlphaPreview = 1 << 17 , AlphaPreviewHalf = 1 << 18 , HDR = 1 << 19 , DisplayRGB = 1 << 20 , DisplayHSV = 1 << 21 , DisplayHex = 1 << 22 , Uint8 = 1 << 23 , Float = 1 << 24 , PickerHueBar = 1 << 25 , PickerHueWheel = 1 << 26 , InputRGB = 1 << 27 , InputHSV = 1 << 28 } export const enum SliderFlags { None = 0 , ClampOnInput = 1 << 4 , Logarithmic = 1 << 5 , NoRoundToFormat = 1 << 6 , NoInput = 1 << 7 } export const enum MouseButton { Left = 0 , Right = 1 , Middle = 2 } export const enum MouseCursor { None = - 1 , Arrow = 0 , TextInput , ResizeAll , ResizeNS , ResizeEW , ResizeNESW , ResizeNWSE , Hand , NotAllowed } export const enum Cond { None = 0 , Always = 1 << 0 , Once = 1 << 1 , FirstUseEver = 1 << 2 , Appearing = 1 << 3 } export const enum DrawCornerFlags { None = 0 , TopLeft = 1 << 0 , TopRight = 1 << 1 , BotLeft = 1 << 2 , BotRight = 1 << 3 , Top = TopLeft | TopRight , Bot = BotLeft | BotRight , Left = TopLeft | BotLeft , Right = TopRight | BotRight , All = 0xF } export const enum DrawListFlags { None = 0 , AntiAliasedLines = 1 << 0 , AntiAliasedLinesUseTex = 1 << 1 , AntiAliasedFill = 1 << 2 , AllowVtxOffset = 1 << 3 } export const enum ViewportFlags { None = 0 , NoDecoration = 1 << 0 , NoTaskBarIcon = 1 << 1 , NoFocusOnAppearing = 1 << 2 , NoFocusOnClick = 1 << 3 , NoInputs = 1 << 4 , NoRendererClear = 1 << 5 , TopMost = 1 << 6 , Minimized = 1 << 7 , NoAutoMerge = 1 << 8 , CanHostOtherWindows = 1 << 9 } export interface DrawListRef { flags : DrawListFlags ; pushClipRect ( clipRectMin , clipRectMax , intersectWithCurrentClipRect ? ) : void ; pushClipRectFullScreen ( ) : void ; popClipRect ( ) : void ; pushTextureId ( textureId ) : void ; popTextureId ( ) : void ; getClipRectMin ( ) : vec2 ; getClipRectMax ( ) : vec2 ; addLine ( p1 , p2 , col , thickness ? ) : void ; addRect ( pMin , pMax , col , rounding ? , roundingCorners ? , thickness ? ) : void ; addRectFilled ( pMin , pMax , col , rounding ? , roundingCorners ? ) : void ; addRectFilledMultiColor ( pMin , pMax , colUprLeft , colUprRight , colBotRight , colBotLeft ) : void ; addQuad ( p1 , p2 , p3 , p4 , col , thickness ? ) : void ; addQuadFilled ( p1 , p2 , p3 , p4 , col ) : void ; addTriangle ( p1 , p2 , p3 , col , thickness ? ) : void ; addTriangleFilled ( p1 , p2 , p3 , col ) : void ; addCircle ( center , radius , col , numSegments ? , thickness ? ) : void ; addCircleFilled ( center , radius , col , numSegments ? ) : void ; addNgon ( center , radius , col , numSegments , thickness ? ) : void ; addNgonFilled ( center , radius , col , numSegments ) : void ; addText ( pos , col , text ) : void ; addTextEx ( font , fontSize , pos , col , text , wrapWidth ? ) : void ; addPolyline ( points , col , closed , thickness ) : void ; addConvexPolyFilled ( points , col ) : void ; addBezierCurve ( p1 , p2 , p3 , p4 , col , thickness , numSegments ? ) : void ; addImage ( textureId , pMin , pMax , uvMin ? , uvMax ? , col ? ) : void ; addImageQuad ( textureId , p1 , p2 , p3 , p4 , uv1 ? , uv2 ? , uv3 ? , uv4 ? , col ? ) : void ; addImageRounded ( textureId , pMin , pMax , uvMin , uvMax , col , rounding , roundingCorners ? ) : void ; pathClear ( ) : void ; pathLineTo ( pos ) : void ; pathLineToMergeDuplicate ( pos ) : void ; pathFillConvex ( col ) : void ; pathStroke ( col , closed , thickness ? ) : void ; pathArcTo ( center , radius , aMin , aMax , numSegments ? ) : void ; pathArcToFast ( center , radius , aMin12 , aMax12 ) : void ; pathBezierCurveTo ( p2 , p3 , p4 , numSegments ? ) : void ; pathRect ( rectMin , rectMax , rounding ? , roundingCorners ? ) : void ; addDrawCmd ( ) : void ; } export interface FontAtlasRef { addFontFromFile ( filename , sizePixels ) : FontRef ; addFontFromMemory ( font , sizePixels ) : FontRef ; addFontFromMemoryCompressed ( compressedFont , sizePixels ) : FontRef ; } export interface FontRef { size : number ; scale : number ; } export interface IoRef { configFlags : ConfigFlags ; backendFlags : BackendFlags ; displaySize : vec2 ; deltaTime : number ; iniSavingRate : number ; iniFilename ? : string ; logFilename ? : string ; mouseDoubleClickTime : number ; mouseDoubleClickMaxDist : number ; mouseDragThreshold : number ; keyRepeatDelay : number ; keyRepeatRate : number ; fonts : FontAtlasRef ; fontGlobalScale : number ; fontAllowUserScaling : boolean ; fontDefault : FontRef ; displayFramebufferScale : vec2 ; configDockingNoSplit : boolean ; configDockingWithShift : boolean ; configDockingAlwaysTabBar : boolean ; configDockingTransparentPayload : boolean ; configViewportsNoAutoMerge : boolean ; configViewportsNoTaskBarIcon : boolean ; configViewportsNoDecoration : boolean ; configViewportsNoDefaultParent : boolean ; configMouseDrawCursor : boolean ; configInputTextCursorBlink : boolean ; configWindowsResizeFromEdges : boolean ; configWindowsMoveFromTitleBarOnly : boolean ; configWindowsMemoryCompactTimer : boolean ; backendPlatformName : string ; backendRendererName : string ; wantCaptureMouse : boolean ; wantCaptureKeyboard : boolean ; wantTextInput : boolean ; wantSetMousePos : boolean ; wantSaveIniSettings : boolean ; navActive : boolean ; navVisible : boolean ; framerate : number ; metricsRenderVertices : number ; metricsRenderWindows : number ; metricsActiveWindows : number ; metricsActiveAllocations : number ; mouseDelta : vec2 ; mouseWheel : vec2 ; } export interface StyleRef { alpha : number ; windowPadding : vec2 ; windowRounding : number ; windowBorderSize : number ; windowMinSize : vec2 ; windowTitleAlign : vec2 ; windowMenuButtonPosition : Dir ; childRounding : number ; childBorderSize : number ; popupRounding : number ; popupBorderSize : number ; framePadding : vec2 ; frameRounding : number ; frameBorderSize : number ; itemSpacing : vec2 ; itemInnerSpacing : vec2 ; touchExtraPadding : vec2 ; indentSpacing : number ; columnsMinSpacing : number ; scrollbarSize : number ; scrollbarRounding : number ; grabMinSize : number ; grabRounding : number ; logSliderDeadzone : number ; tabRounding : number ; tabBorderSize : number ; tabMinWidthForUnselectedCloseButton : number ; colorButtonPosition : Dir ; buttonTextAlign : vec2 ; selectableTextAlign : vec2 ; displayWindowPadding : vec2 ; displaySafeAreaPadding : vec2 ; mouseCursorScale : number ; antiAliasedLines : boolean ; antiAliasedFill : boolean ; curveTessallationTol : number ; circleSegmentMaxError : number ; getColor ( index ) : vec4 ; setColor ( index , col ) : void ; scaleAllSizes ( scaleFactor ) : void ; } export interface ViewportRef { id : number ; flags : ViewportFlags ; pos : vec2 ; size : vec2 ; workOffsetMin : vec2 ; workOffsetMax : vec2 ; dpiScale : number ; parentViewportId : number ; platformHandle ? : WindowRef ; center : vec2 ; workPos : vec2 ; workSize : vec2 ; } export interface IImGui { getIo ( ) : IoRef ; getStyle ( ) : StyleRef ; showDemoWindow ( open ? ) : void ; showAboutWindow ( open ? ) : void ; showMetricsWindow ( open ? ) : void ; showStyleEditor ( ) : void ; showStyleSelector ( ) : void ; showFontSelector ( ) : void ; showUserGuide ( ) : void ; getVersion ( ) : string ; styleColorsDark ( ) : void ; styleColorsClassic ( ) : void ; styleColorsLight ( ) : void ; begin ( name , open ? , flags ? ) : boolean ; end ( ) : void ; beginChild ( strId , size ? , border ? , flags ? ) : boolean ; beginChild ( id , size ? , border ? , flags ? ) : boolean ; endChild ( ) : void ; isWindowAppearing ( ) : boolean ; isWindowCollapsed ( ) : boolean ; isWindowFocused ( flags ? ) : boolean ; isWindowHovered ( flags ? ) : boolean ; getWindowDrawList ( ) : DrawListRef ; getWindowDpiScale ( ) : number ; getWindowViewport ( ) : ViewportRef ; getWindowPos ( ) : vec2 ; getWindowSize ( ) : vec2 ; getWindowWidth ( ) : number ; getWindowHeight ( ) : number ; setNextWindowPos ( pos , cond ? , pivot ? ) : void ; setNextWindowSize ( size , cond ? ) : void ; setNextWindowSizeConstraints ( sizeMin , sizeMax ) : void ; setNextWindowContentSize ( size ) : void ; setNextWindowCollapsed ( collapsed , cond ? ) : void ; setNextWindowFocus ( ) : void ; setNextWindowBgAlpha ( alpha ) : void ; setNextWindowViewport ( viewportId ) : void ; setWindowPos ( pos , cond ? ) : void ; setWindowSize ( size , cond ? ) : void ; setWindowCollapsed ( collapsed , cond ? ) : void ; setWindowFocus ( ) : void ; setWindowFontScale ( scale ) : void ; setWindowPos ( name , pos , cond ? ) : void ; setWindowSize ( name , size , cond ? ) : void ; setWindowCollapsed ( name , collapsed , cond ? ) : void ; setWindowFocus ( name ) : void ; getContentRegionMax ( ) : vec2 ; getContentRegionAvail ( ) : vec2 ; getWindowContentRegionMin ( ) : vec2 ; getWindowContentRegionMax ( ) : vec2 ; getWindowContentRegionWidth ( ) : number ; getScrollX ( ) : number ; getScrollY ( ) : number ; getScrollMaxX ( ) : number ; getScrollMaxY ( ) : number ; setScrollX ( scrollX ) : void ; setScrollY ( scrollY ) : void ; setScrollHereX ( centerXRatio ? ) : void ; setScrollHereY ( centerYRatio ? ) : void ; setScrollFromPosX ( localX , centerXRatio ? ) : void ; setScrollFromPosY ( localY , centerYRatio ? ) : void ; pushFont ( font ? ) : void ; popFont ( ) : void ; pushStyleColor ( idx , col ) : void ; popStyleColor ( count ? ) : void ; pushStyleVar ( idx , val ) : void ; pushStyleVar ( idx , val ) : void ; popStyleVar ( count ? ) : void ; getStyleColor ( idx ) : vec4 ; getFont ( ) : FontRef ; getFontSize ( ) : number ; getFontTexUvWhitePixel ( ) : vec2 ; getColor ( idx , alphaMul ? ) : vec4 ; getColor ( col ) : vec4 ; pushItemWidth ( itemWidth ) : void ; popItemWidth ( ) : void ; setNextItemWidth ( itemWidth ) : void ; calcItemWidth ( ) : number ; pushTextWrapPos ( wrapLocalPosX ? ) : void ; popTextWrapPos ( ) : void ; pushAllowKeyboardFocus ( allowKeyboardFocus ) : void ; popAllowKeyboardFocus ( ) : void ; pushButtonRepeat ( repeat ) : void ; popButtonRepeat ( ) : void ; separator ( ) : void ; sameLine ( offsetFromStartX ? , spacing ? ) : void ; newLine ( ) : void ; spacing ( ) : void ; dummy ( size ) : void ; indent ( indentW ? ) : void ; unindent ( indentW ? ) : void ; beginGroup ( ) : void ; endGroup ( ) : void ; getCursorPos ( ) : vec2 ; getCursorPosX ( ) : number ; getCursorPosY ( ) : number ; setCursorPos ( localPos ) : void ; setCursorPosX ( localX ) : void ; setCursorPosY ( localY ) : void ; getCursorStartPos ( ) : vec2 ; getCursorScreenPos ( ) : vec2 ; setCursorScreenPos ( pos ) : void ; alignTextToFramePadding ( ) : void ; getTextLineHeight ( ) : number ; getTextLineHeightWithSpacing ( ) : number ; getFrameHeight ( ) : number ; getFrameHeightWithSpacing ( ) : number ; pushId ( strId ) : void ; pushId ( ptrId ) : void ; popId ( ) : void ; getId ( strId ) : number ; getId ( ptrId ) : number ; text ( text ) : void ; textColored ( text , col ) : void ; textDisabled ( text ) : void ; textWrapped ( text ) : void ; labelText ( label , text ) : void ; bulletText ( text ) : void ; button ( label , size ? ) : boolean ; smallButton ( label ) : boolean ; invisibleButton ( strId , size , flags ? ) : boolean ; arrowButton ( strId , dir ) : boolean ; image ( userTextureId , size , uv0 ? , uv1 ? , tintCol ? , borderCol ? ) : void ; imageButton ( userTextureId , size , uv0 ? , uv1 ? , framePadding ? , bgCol ? , tintCol ? ) : boolean ; checkbox ( label , v ) : boolean ; checkboxFlags ( label , flags , flagsValue ) : boolean ; radioButton ( label , active ) : boolean ; radioButton ( label , v , vButton ) : boolean ; progressBar ( fraction , sizeArg ? , overlay ? ) : void ; bullet ( ) : void ; beginCombo ( label , previewValue , flags ? ) : boolean ; endCombo ( ) : void ; combo ( label , currentItem , items , popupMaxHeightInItems ? ) : boolean ; dragFloat ( label , v , vSpeed ? , vMin ? , vMax ? , format ? , flags ? ) : boolean ; dragFloats ( label , v , vSpeed ? , vMin ? , vMax ? , format ? , flags ? ) : boolean ; dragFloatRange ( label , vCurrentMin , vCurrentMax , vSpeed ? , vMin ? , vMax ? , format ? , formatMax ? , flags ? ) : boolean ; dragInt ( label , v , vSpeed ? , vMin ? , vMax ? , format ? , flags ? ) : boolean ; dragInts ( label , v , vSpeed ? , vMin ? , vMax ? , format ? , flags ? ) : boolean ; dragIntRange ( label , vCurrentMin , vCurrentMax , vSpeed ? , vMin ? , vMax ? , format ? , formatMax ? , flags ? ) : boolean ; sliderFloat ( label , v , vMin , vMax , format ? , flags ? ) : boolean ; sliderFloats ( label , v , vMin , vMax , format ? , flags ? ) : boolean ; sliderAngle ( label , vRad , vDegreesMin ? , vDegreesMax ? , format ? , flags ? ) : boolean ; sliderInt ( label , v , vMin , vMax , format ? , flags ? ) : boolean ; sliderInts ( label , v , vMin , vMax , format ? , flags ? ) : boolean ; vSliderFloat ( label , size , v , vMin , vMax , format ? , flags ? ) : boolean ; vSliderInt ( label , size , v , vMin , vMax , format ? , flags ? ) : boolean ; inputText ( label , text , flags ? ) : boolean ; inputTextMultiline ( label , text , size ? , flags ? ) : boolean ; inputTextWithHint ( label , hint , text , flags ? ) : boolean ; inputFloat ( label , v , step ? , stepFast ? , format ? , flags ? ) : boolean ; inputFloats ( label , v , step ? , stepFast ? , format ? , flags ? ) : boolean ; inputInt ( label , v , step ? , stepFast ? , flags ? ) : boolean ; inputInts ( label , v , step ? , stepFast ? , format ? , flags ? ) : boolean ; inputDouble ( label , v , step ? , stepFast ? , format ? , flags ? ) : boolean ; colorEdit3 ( label , col , flags ? ) : boolean ; colorEdit4 ( label , col , flags ? ) : boolean ; colorPicker3 ( label , col , flags ? ) : boolean ; colorPicker4 ( label , col , flags ? , refColor ? ) : boolean ; colorButton ( descId , col , flags ? , size ? ) : boolean ; setColorEditOptions ( flags ) : void ; treeNode ( label , flags ? ) : boolean ; treeNodeEx ( strId , label , flags ? ) : boolean ; treeNodeEx ( ptrId , label , flags ? ) : boolean ; treePush ( strId ) : void ; treePush ( ptrId ) : void ; treePush ( ) : void ; treePop ( ) : void ; getTreeNodeToLabelSpacing ( ) : number ; collapsingHeader ( label , flags ? ) : boolean ; collapsingHeader ( label , open , flags ? ) : boolean ; setNextItemOpen ( isOpen , cond ? ) : void ; selectable ( label , selected ? , flags ? , size ? ) : boolean ; selectable ( label , selected , flags ? , size ? ) : boolean ; listBox ( label , currentItem , items , heightInItems ? ) : boolean ; listBoxHeader ( label , size ? ) : boolean ; listBoxHeader ( label , itemsCount , heightInItems ? ) : boolean ; listBoxFooter ( ) : void ; plotLines ( label , values , valuesOffset ? , overlayText ? , scaleMin ? , scaleMax ? , graphSize ? ) : void ; plotHistogram ( label , values , valuesOffset ? , overlayText ? , scaleMin ? , scaleMax ? , graphSize ? ) : void ; valueBool ( prefix , b ) : void ; valueInt ( prefix , v ) : void ; valueFloat ( prefix , v , format ? ) : void ; beginMenuBar ( ) : boolean ; endMenuBar ( ) : void ; beginMainMenuBar ( ) : boolean ; endMainMenuBar ( ) : void ; beginMenu ( label , enabled ? ) : boolean ; endMenu ( ) : void ; menuItem ( label , shortcut ? , selected ? , enabled ? ) : boolean ; menuItem ( label , shortcut , selected , enabled ? ) : boolean ; beginTooltip ( ) : void ; endTooltip ( ) : void ; setTooltip ( text ) : void ; beginPopup ( strId , flags ? ) : boolean ; beginPopupModal ( name , open ? , flags ? ) : boolean ; endPopup ( ) : void ; openPopup ( strId , popupFlags ? ) : void ; openPopupContextItem ( strId ? , popupFlags ? ) : boolean ; closeCurrentPopup ( ) : void ; beginPopupContextItem ( strId ? , popupFlags ? ) : boolean ; beginPopupContextWindow ( strId ? , popupFlags ? ) : boolean ; beginPopupContextVoid ( strId ? , popupFlags ? ) : boolean ; isPopupOpen ( strId , flags ? ) : boolean ; columns ( count ? , id ? , border ? ) : void ; nextColumn ( ) : void ; getColumnIndex ( ) : number ; getColumnWidth ( columnIndex ? ) : number ; setColumnWidth ( columnIndex , width ) : void ; getColumnOffset ( columnIndex ? ) : number ; setColumnOffset ( columnIndex , offsetX ) : void ; getColumnsCount ( ) : number ; beginTabBar ( strId , flags ? ) : boolean ; endTabBar ( ) : void ; beginTabItem ( label , open ? , flags ? ) : boolean ; endTabItem ( ) : void ; setTabItemClosed ( tabOrDockedWindowLabel ) : void ; dockSpace ( id , size ? , flags ? ) : void ; dockSpaceOverViewport ( viewport ? , flags ? ) : void ; getWindowDockId ( ) : number ; isWindowDocked ( ) : boolean ; logToTTY ( autoOpenDepth ? ) : void ; logToFile ( autoOpenDepth ? , filename ? ) : void ; logToClipboard ( autoOpenDepth ? ) : void ; logFinish ( ) : void ; logButtons ( ) : void ; logText ( text ) : void ; pushClipRect ( clipRectMin , clipRectMax , intersectWithCurrentClipRect ) : void ; popClipRect ( ) : void ; setItemDefaultFocus ( ) : void ; setKeyboardFocusHere ( offset ? ) : void ; isItemHovered ( flags ? ) : boolean ; isItemActive ( ) : boolean ; isItemFocused ( ) : boolean ; isItemClicked ( mouseButton ? ) : boolean ; isItemVisible ( ) : boolean ; isItemEdited ( ) : boolean ; isItemActivated ( ) : boolean ; isItemDeactivated ( ) : boolean ; isItemDeactivatedAfterEdit ( ) : boolean ; isItemToggledOpen ( ) : boolean ; isAnyItemHovered ( ) : boolean ; isAnyItemActive ( ) : boolean ; isAnyItemFocused ( ) : boolean ; getItemRectMin ( ) : vec2 ; getItemRectMax ( ) : vec2 ; getItemRectSize ( ) : vec2 ; setItemAllowOverlap ( ) : void ; isRectVisible ( size ) : boolean ; isRectVisible ( rectMin , rectMax ) : boolean ; getTime ( ) : number ; getFrameCount ( ) : number ; getBackgroundDrawList ( ) : DrawListRef ; getBackgroundDrawList ( viewport ) : DrawListRef ; getForegroundDrawList ( ) : DrawListRef ; getForegroundDrawList ( viewport ) : DrawListRef ; getStyleColorName ( idx ) : string ; calcListClipping ( itemsCount , itemsHeight ) : vec2 ; beginChildFrame ( id , size , flags ? ) : boolean ; endChildFrame ( ) : void ; calcTextSize ( text , hideTextAfterDoubleHash ? , wrapWidth ? ) : vec2 ; colorConvertRGBtoHSV ( color ) : vec4 ; colorConvertHSVtoRGB ( color ) : vec4 ; isKeyDown ( keyIndex ) : boolean ; isKeyPressed ( keyIndex , repeat ? ) : boolean ; isKeyReleased ( keyIndex ) : boolean ; getKeyPressedAmount ( keyIndex , repeatDelay , rate ) : number ; captureKeyboardFromApp ( wantCaptureKeyboardValue ) : void ; isMouseDown ( button ) : boolean ; isMouseClicked ( button , repeat ? ) : boolean ; isMouseReleased ( button ) : boolean ; isMouseDoubleClicked ( button ) : boolean ; isMouseHoveringRect ( rMin , rMax , clip ? ) : boolean ; isMousePosValid ( mousePos ? ) : boolean ; isAnyMouseDown ( ) : boolean ; getMousePos ( ) : vec2 ; getMousePosOnOpeningCurrentPopup ( ) : vec2 ; isMouseDragging ( button , lockThreshold ? ) : boolean ; getMouseDragDelta ( button ? , lockThreshold ? ) : vec2 ; resetMouseDragDelta ( button ? ) : void ; getMouseCursor ( ) : MouseCursor ; setMouseCursor ( cursorType ) : void ; captureMouseFromApp ( wantCaptureMouseValue ? ) : void ; getClipboardText ( ) : string ; setClipboardText ( text ) : void ; loadIniSettingsFromDisk ( iniFilename ) : void ; loadIniSettingsFromMemory ( iniData ) : void ; saveIniSettingsToDisk ( iniFilename ) : void ; saveIniSettingsToMemory ( ) : Buffer ; getMainViewport ( ) : ViewportRef ; findViewportById ( id ) : ViewportRef ; pushItemDisabled ( disabled ) : void ; popItemDisabled ( ) : void ; }