mirror of
https://github.com/dpethes/rerogue.git
synced 2025-06-07 18:58:32 +02:00
update imgui and SDL2 bindings
This commit is contained in:
parent
14c05bec13
commit
2cd5eef69d
@ -1,6 +1,6 @@
|
||||
{
|
||||
Bindings for dear imgui (AKA ImGui) - a bloat-free graphical user interface library for C++
|
||||
Based on cimgui+ImGui 1.49/1.50
|
||||
Based on ImGui 1.50 + cimgui wrapper
|
||||
Not all functions were tested.
|
||||
}
|
||||
unit fpimgui;
|
||||
@ -30,14 +30,7 @@ type
|
||||
TLongInt3 = array[0..2] of longint;
|
||||
TLongInt4 = array[0..3] of longint;
|
||||
|
||||
PImDrawData = ^ImDrawData;
|
||||
PImFont = ^ImFont;
|
||||
PImFontAtlas = ^ImFontAtlas;
|
||||
PImFontConfig = ^ImFontConfig;
|
||||
PImGuiContext = Pointer;
|
||||
PImGuiSizeConstraintCallbackData = ^ImGuiSizeConstraintCallbackData;
|
||||
PImGuiStorage = ^ImGuiStorage;
|
||||
PImGuiTextEditCallbackData = ^ImGuiTextEditCallbackData;
|
||||
|
||||
ImVec2 = record
|
||||
x, y: single;
|
||||
@ -50,32 +43,53 @@ type
|
||||
|
||||
ImU32 = dword;
|
||||
ImWchar = word;
|
||||
PImWchar = PWord;
|
||||
ImTextureID = pointer;
|
||||
ImGuiID = ImU32;
|
||||
ImGuiCol = longint;
|
||||
ImGuiStyleVar = longint;
|
||||
ImGuiKey = longint;
|
||||
ImGuiAlign = longint;
|
||||
ImGuiColorEditMode = longint;
|
||||
ImGuiMouseCursor = longint;
|
||||
ImGuiWindowFlags = longint;
|
||||
ImGuiSetCond = longint;
|
||||
ImGuiInputTextFlags = longint;
|
||||
ImGuiSelectableFlags = longint;
|
||||
|
||||
{ Enums }
|
||||
|
||||
ImGuiTreeNodeFlags = (
|
||||
Selected = 1 shl 0,
|
||||
Framed = 1 shl 1,
|
||||
AllowOverlapMode = 1 shl 2,
|
||||
NoTreePushOnOpen = 1 shl 3,
|
||||
NoAutoOpenOnLog = 1 shl 4,
|
||||
DefaultOpen = 1 shl 5,
|
||||
OpenOnDoubleClick = 1 shl 6,
|
||||
OpenOnArrow = 1 shl 7,
|
||||
Leaf = 1 shl 8,
|
||||
Bullet = 1 shl 9
|
||||
ImGuiWindowFlags = longint;
|
||||
ImGuiWindowFlagsEnum = (
|
||||
ImGuiWindowFlags_Default = 0, // Default: 0
|
||||
ImGuiWindowFlags_NoTitleBar = 1 shl 0, // Disable title-bar
|
||||
ImGuiWindowFlags_NoResize = 1 shl 1, // Disable user resizing with the lower-right grip
|
||||
ImGuiWindowFlags_NoMove = 1 shl 2, // Disable user moving the window
|
||||
ImGuiWindowFlags_NoScrollbar = 1 shl 3, // Disable scrollbars (window can still scroll with mouse or programatically)
|
||||
ImGuiWindowFlags_NoScrollWithMouse = 1 shl 4, // Disable user vertically scrolling with mouse wheel
|
||||
ImGuiWindowFlags_NoCollapse = 1 shl 5, // Disable user collapsing window by double-clicking on it
|
||||
ImGuiWindowFlags_AlwaysAutoResize = 1 shl 6, // Resize every window to its content every frame
|
||||
ImGuiWindowFlags_ShowBorders = 1 shl 7, // Show borders around windows and items
|
||||
ImGuiWindowFlags_NoSavedSettings = 1 shl 8, // Never load/save settings in .ini file
|
||||
ImGuiWindowFlags_NoInputs = 1 shl 9, // Disable catching mouse or keyboard inputs
|
||||
ImGuiWindowFlags_MenuBar = 1 shl 10, // Has a menu-bar
|
||||
ImGuiWindowFlags_HorizontalScrollbar = 1 shl 11, // Allow horizontal scrollbar to appear (off by default). You may use SetNextWindowContentSize(ImVec2(width,0.0f)); prior to calling Begin() to specify width. Read code in imgui_demo in the "Horizontal Scrolling" section.
|
||||
ImGuiWindowFlags_NoFocusOnAppearing = 1 shl 12, // Disable taking focus when transitioning from hidden to visible state
|
||||
ImGuiWindowFlags_NoBringToFrontOnFocus = 1 shl 13, // Disable bringing window to front when taking focus (e.g. clicking on it or programatically giving it focus)
|
||||
ImGuiWindowFlags_AlwaysVerticalScrollbar= 1 shl 14, // Always show vertical scrollbar (even if ContentSize.y < Size.y)
|
||||
ImGuiWindowFlags_AlwaysHorizontalScrollbar=1shl 15, // Always show horizontal scrollbar (even if ContentSize.x < Size.x)
|
||||
ImGuiWindowFlags_AlwaysUseWindowPadding = 1 shl 16 // Ensure child windows without border uses style.WindowPadding (ignored by default for non-bordered child windows, because more convenient)
|
||||
);
|
||||
|
||||
// Flags for ImGui::TreeNodeEx(), ImGui::CollapsingHeader*()
|
||||
ImGuiTreeNodeFlags = longint;
|
||||
ImGuiTreeNodeFlagsEnum = (
|
||||
ImGuiTreeNodeFlags_Selected = 1 shl 0,
|
||||
ImGuiTreeNodeFlags_Framed = 1 shl 1,
|
||||
ImGuiTreeNodeFlags_AllowOverlapMode = 1 shl 2,
|
||||
ImGuiTreeNodeFlags_NoTreePushOnOpen = 1 shl 3,
|
||||
ImGuiTreeNodeFlags_NoAutoOpenOnLog = 1 shl 4,
|
||||
ImGuiTreeNodeFlags_CollapsingHeader = (1 shl 1) or (1 shl 4), //Framed or NoAutoOpenOnLog
|
||||
ImGuiTreeNodeFlags_DefaultOpen = 1 shl 5,
|
||||
ImGuiTreeNodeFlags_OpenOnDoubleClick = 1 shl 6,
|
||||
ImGuiTreeNodeFlags_OpenOnArrow = 1 shl 7,
|
||||
ImGuiTreeNodeFlags_Leaf = 1 shl 8,
|
||||
ImGuiTreeNodeFlags_Bullet = 1 shl 9
|
||||
);
|
||||
|
||||
ImGuiKey_ = (
|
||||
@ -148,7 +162,55 @@ type
|
||||
//ImGuiCol_COUNT - unnecessary
|
||||
);
|
||||
|
||||
|
||||
// Enumeration for PushStyleVar() / PopStyleVar()
|
||||
// NB: the enum only refers to fields of ImGuiStyle() which makes sense to be pushed/poped in UI code. Feel free to add others.
|
||||
ImGuiStyleVar_ = (
|
||||
ImGuiStyleVar_Alpha, // float
|
||||
ImGuiStyleVar_WindowPadding, // ImVec2
|
||||
ImGuiStyleVar_WindowRounding, // float
|
||||
ImGuiStyleVar_WindowMinSize, // ImVec2
|
||||
ImGuiStyleVar_ChildWindowRounding, // float
|
||||
ImGuiStyleVar_FramePadding, // ImVec2
|
||||
ImGuiStyleVar_FrameRounding, // float
|
||||
ImGuiStyleVar_ItemSpacing, // ImVec2
|
||||
ImGuiStyleVar_ItemInnerSpacing, // ImVec2
|
||||
ImGuiStyleVar_IndentSpacing, // float
|
||||
ImGuiStyleVar_GrabMinSize, // float
|
||||
ImGuiStyleVar_ButtonTextAlign // flags ImGuiAlign_*
|
||||
//ImGuiStyleVar_Count_ - unnecessary
|
||||
);
|
||||
|
||||
// Enumeration for ColorEditMode()
|
||||
// FIXME-OBSOLETE: Will be replaced by future color/picker api
|
||||
ImGuiColorEditMode = longint;
|
||||
|
||||
// Enumeration for GetMouseCursor()
|
||||
ImGuiMouseCursor = longint;
|
||||
ImGuiMouseCursorEnum = (
|
||||
ImGuiMouseCursor_None = -1,
|
||||
ImGuiMouseCursor_Arrow = 0,
|
||||
ImGuiMouseCursor_TextInput,
|
||||
ImGuiMouseCursor_Move,
|
||||
ImGuiMouseCursor_ResizeNS,
|
||||
ImGuiMouseCursor_ResizeEW,
|
||||
ImGuiMouseCursor_ResizeNESW,
|
||||
ImGuiMouseCursor_ResizeNWSE
|
||||
//ImGuiMouseCursor_Count_ - unnecessary
|
||||
);
|
||||
|
||||
// Condition flags for ImGui::SetWindow***(), SetNextWindow***(), SetNextTreeNode***() functions
|
||||
// All those functions treat 0 as a shortcut to ImGuiSetCond_Always
|
||||
ImGuiSetCond = longint;
|
||||
ImGuiSetCondEnum = (
|
||||
ImGuiSetCond_Always = 1 shl 0, // Set the variable
|
||||
ImGuiSetCond_Once = 1 shl 1, // Set the variable once per runtime session (only the first call with succeed)
|
||||
ImGuiSetCond_FirstUseEver = 1 shl 2, // Set the variable if the window has no saved data (if doesn't exist in the .ini file)
|
||||
ImGuiSetCond_Appearing = 1 shl 3 // Set the variable if the window is appearing after being hidden/inactive (or the first time)
|
||||
);
|
||||
|
||||
{ Structs }
|
||||
|
||||
ImGuiStyle = record
|
||||
Alpha : single;
|
||||
WindowPadding : ImVec2;
|
||||
@ -177,6 +239,14 @@ type
|
||||
end;
|
||||
PImGuiStyle = ^ImGuiStyle;
|
||||
|
||||
//forward decls for ImGuiIO
|
||||
PImDrawData = ^ImDrawData;
|
||||
PImFont = ^ImFont;
|
||||
PImFontAtlas = ^ImFontAtlas;
|
||||
PImFontConfig = ^ImFontConfig;
|
||||
PImGuiSizeConstraintCallbackData = ^ImGuiSizeConstraintCallbackData;
|
||||
PImGuiStorage = ^ImGuiStorage;
|
||||
PImGuiTextEditCallbackData = ^ImGuiTextEditCallbackData;
|
||||
ImGuiIO = record
|
||||
DisplaySize : ImVec2;
|
||||
DeltaTime : single;
|
||||
@ -190,6 +260,7 @@ type
|
||||
KeyRepeatDelay : single;
|
||||
KeyRepeatRate : single;
|
||||
UserData : pointer;
|
||||
|
||||
Fonts : PImFontAtlas;
|
||||
FontGlobalScale : single;
|
||||
FontAllowUserScaling : bool;
|
||||
@ -197,15 +268,24 @@ type
|
||||
DisplayFramebufferScale : ImVec2;
|
||||
DisplayVisibleMin : ImVec2;
|
||||
DisplayVisibleMax : ImVec2;
|
||||
|
||||
// Advanced/subtle behaviors
|
||||
OSXBehaviors : bool;
|
||||
|
||||
// User Functions
|
||||
RenderDrawListsFn : procedure (data:PImDrawData);cdecl;
|
||||
|
||||
GetClipboardTextFn : function (user_data:pointer):Pchar;cdecl;
|
||||
SetClipboardTextFn : procedure (user_data:pointer; text:Pchar);cdecl;
|
||||
ClipboardUserData : pointer;
|
||||
|
||||
MemAllocFn : function (sz:size_t):pointer;cdecl;
|
||||
MemFreeFn : procedure (ptr:pointer);cdecl;
|
||||
|
||||
ImeSetInputScreenPosFn : procedure (x:longint; y:longint);cdecl;
|
||||
ImeWindowHandle : pointer;
|
||||
|
||||
// Input - Fill before calling NewFrame()
|
||||
MousePos : ImVec2;
|
||||
MouseDown : array[0..4] of bool;
|
||||
MouseWheel : single;
|
||||
@ -215,7 +295,9 @@ type
|
||||
KeyAlt : bool;
|
||||
KeySuper : bool;
|
||||
KeysDown : array[0..511] of bool;
|
||||
InputCharacters : array[0..(16+1)-1] of ImWchar;
|
||||
InputCharacters : array[0..16] of ImWchar;
|
||||
|
||||
// Output - Retrieve after calling NewFrame()
|
||||
WantCaptureMouse : bool;
|
||||
WantCaptureKeyboard : bool;
|
||||
WantTextInput : bool;
|
||||
@ -224,7 +306,11 @@ type
|
||||
MetricsRenderVertices : longint;
|
||||
MetricsRenderIndices : longint;
|
||||
MetricsActiveWindows : longint;
|
||||
|
||||
MouseDelta : ImVec2;
|
||||
|
||||
// [Private] ImGui will maintain those fields. Forward compatibility not guaranteed!
|
||||
// this part is not included, so be careful when doing sizeof(ImGuiIO) for example
|
||||
end;
|
||||
PImGuiIO = ^ImGuiIO;
|
||||
|
||||
@ -273,27 +359,34 @@ type
|
||||
end;
|
||||
|
||||
ImGuiTextEditCallbackData = record
|
||||
//not translated
|
||||
end;
|
||||
ImGuiSizeConstraintCallbackData = record
|
||||
//not translated
|
||||
end;
|
||||
ImGuiStorage = record
|
||||
//not translated
|
||||
end;
|
||||
ImFont = record
|
||||
//not translated
|
||||
end;
|
||||
ImFontConfig = record
|
||||
//not translated
|
||||
end;
|
||||
ImFontAtlas = record
|
||||
//not translated
|
||||
end;
|
||||
|
||||
|
||||
ImGuiTextEditCallback = function(Data: PImGuiTextEditCallbackData): longint; cdecl;
|
||||
ImGuiSizeConstraintCallback = procedure(Data: PImGuiSizeConstraintCallbackData); cdecl;
|
||||
|
||||
//binding helpers
|
||||
type
|
||||
TCol3 = array[0..2] of single; //todo : does this work?
|
||||
TCol4 = array[0..3] of single;
|
||||
|
||||
//binding helpers
|
||||
function ImVec2Init(const x, y: single): Imvec2; inline;
|
||||
function ImIDPtr(const i: integer): pointer; inline;
|
||||
|
||||
{ Static ImGui class, wraps external cimgui dll calls
|
||||
Used for:
|
||||
@ -370,13 +463,13 @@ public
|
||||
class procedure PushFont(font: PImFont); inline;
|
||||
class procedure PopFont; inline;
|
||||
class procedure PushStyleColor(idx: ImGuiCol; col: ImVec4); inline;
|
||||
class procedure PopStyleColor(Count: longint); inline;
|
||||
class procedure PopStyleColor(count: longint); inline;
|
||||
class procedure PushStyleVar(idx: ImGuiStyleVar; val: single); inline;
|
||||
class procedure PushStyleVarVec(idx: ImGuiStyleVar; val: ImVec2); inline;
|
||||
class procedure PopStyleVar(Count: longint); inline;
|
||||
class procedure PopStyleVar(count: longint = 1); inline;
|
||||
class function GetFont(): PImFont; inline;
|
||||
class function GetFontSize: single; inline;
|
||||
class procedure GetFontTexUvWhitePixel(pOut: PImVec2); inline;
|
||||
class function GetFontTexUvWhitePixel(): ImVec2;
|
||||
class function GetColorU32(idx: ImGuiCol; alpha_mul: single): ImU32; inline;
|
||||
class function GetColorU32Vec(col: PImVec4): ImU32; inline;
|
||||
|
||||
@ -437,7 +530,6 @@ public
|
||||
class function GetIdPtr(ptr_id: pointer): ImGuiID; inline;
|
||||
|
||||
{ Widgets }
|
||||
{ Text() wraps TextUnformatted(), not Text() - formatting is done by pascal's Format }
|
||||
class procedure Text(const text_: string);
|
||||
class procedure Text(const Fmt: string; const Args: array of Const);
|
||||
//procedure igTextV(fmt:Pchar; args:va_list);cdecl;external ImguiLibName;
|
||||
@ -534,20 +626,17 @@ public
|
||||
class function InputInt4(_label: PChar; v: TLongInt4; extra_flags: ImGuiInputTextFlags): bool; inline;
|
||||
|
||||
{ Widgets: Trees }
|
||||
class function TreeNode(_label: PChar): bool; inline;
|
||||
class function TreeNodeStr(str_id: PChar; fmt: string; args: array of const): bool; {inline;}
|
||||
class function TreeNodeStr(str_id: PChar; fmt: string): bool; inline;
|
||||
class function TreeNodePtr(ptr_id: pointer; fmt: string; args: array of const): bool; {inline;}
|
||||
class function TreeNodePtr(ptr_id: pointer; fmt: string): bool; inline;
|
||||
//todo : vargs
|
||||
// function igTreeNodeStrV(str_id:Pchar; fmt:Pchar; args:va_list):bool;cdecl;external ImguiLibName;
|
||||
//todo : vargs
|
||||
// function igTreeNodePtrV(ptr_id:pointer; fmt:Pchar; args:va_list):bool;cdecl;external ImguiLibName;
|
||||
class function TreeNode(_label: string): bool; inline;
|
||||
class function TreeNode(str_id: string; fmt: string; args: array of const): bool; {inline;}
|
||||
class function TreeNode(str_id: string; fmt: string): bool; inline;
|
||||
class function TreeNode(ptr_id: pointer; fmt: string; args: array of const): bool; {inline;}
|
||||
class function TreeNode(ptr_id: pointer; fmt: string): bool; inline;
|
||||
|
||||
class function TreeNodeEx(_label: PChar; flags: ImGuiTreeNodeFlags): bool; inline;
|
||||
class function TreeNodeExStr(str_id: PChar; flags: ImGuiTreeNodeFlags; fmt: string; args: array of const): bool; {inline;}
|
||||
class function TreeNodeExStr(str_id: PChar; flags: ImGuiTreeNodeFlags; fmt: string): bool; inline;
|
||||
class function TreeNodeExPtr(ptr_id: pointer; flags: ImGuiTreeNodeFlags; fmt: string; args: array of const): bool; {inline;}
|
||||
class function TreeNodeExPtr(ptr_id: pointer; flags: ImGuiTreeNodeFlags; fmt: string): bool; inline;
|
||||
class function TreeNodeEx(str_id: PChar; flags: ImGuiTreeNodeFlags; fmt: string; args: array of const): bool; {inline;}
|
||||
class function TreeNodeEx(str_id: PChar; flags: ImGuiTreeNodeFlags; fmt: string): bool; inline;
|
||||
class function TreeNodeEx(ptr_id: pointer; flags: ImGuiTreeNodeFlags; fmt: string; args: array of const): bool; {inline;}
|
||||
class function TreeNodeEx(ptr_id: pointer; flags: ImGuiTreeNodeFlags; fmt: string): bool; inline;
|
||||
//todo : vargs
|
||||
// function igTreeNodeExV(str_id:Pchar; flags:ImGuiTreeNodeFlags; fmt:Pchar; args:va_list):bool;cdecl;external ImguiLibName;
|
||||
//todo : vargs
|
||||
@ -558,8 +647,8 @@ public
|
||||
class procedure TreeAdvanceToLabelPos; inline;
|
||||
class function GetTreeNodeToLabelSpacing: single; inline;
|
||||
class procedure SetNextTreeNodeOpen(opened: bool; cond: ImGuiSetCond = 0); inline;
|
||||
class function CollapsingHeader(_label: PChar; flags: ImGuiTreeNodeFlags): bool; inline;
|
||||
class function CollapsingHeaderEx(_label: PChar; p_open: Pbool; flags: ImGuiTreeNodeFlags): bool; inline;
|
||||
class function CollapsingHeader(_label: PChar; flags: ImGuiTreeNodeFlags = 0): bool; inline;
|
||||
class function CollapsingHeader(_label: PChar; p_open: Pbool; flags: ImGuiTreeNodeFlags = 0): bool; inline;
|
||||
|
||||
{ Widgets: Selectable / Lists }
|
||||
class function Selectable(_label: string; selected: bool; flags: ImGuiSelectableFlags; size: ImVec2): bool;
|
||||
@ -579,7 +668,7 @@ public
|
||||
class procedure ValueUInt(prefix: PChar; v: dword); inline;
|
||||
class procedure ValueFloat(prefix: PChar; v: single; float_format: PChar); inline;
|
||||
class procedure ValueColor(prefix: PChar; v: ImVec4); inline;
|
||||
class procedure ValueColor2(prefix: PChar; v: dword); inline;
|
||||
class procedure ValueColor(prefix: PChar; v: ImU32); inline;
|
||||
|
||||
{ Tooltip }
|
||||
class procedure SetTooltip(fmt: string; args: array of const); {inline}
|
||||
@ -594,10 +683,10 @@ public
|
||||
class procedure EndMainMenuBar; inline;
|
||||
class function BeginMenuBar: bool; inline;
|
||||
class procedure EndMenuBar; inline;
|
||||
class function BeginMenu(_label: PChar; Enabled: bool): bool; inline;
|
||||
class function BeginMenu(_label: PChar; Enabled: bool = true): bool; inline;
|
||||
class procedure EndMenu; inline;
|
||||
class function MenuItem(_label: PChar; shortcut: PChar; selected: bool; Enabled: bool): bool; inline;
|
||||
class function MenuItemPtr(_label: PChar; shortcut: PChar; p_selected: Pbool; Enabled: bool): bool; inline;
|
||||
class function MenuItem(_label: PChar; shortcut: PChar; selected: bool; Enabled: bool = true): bool; inline;
|
||||
class function MenuItem(_label: PChar; shortcut: PChar; p_selected: Pbool; Enabled: bool = true): bool; inline;
|
||||
|
||||
{ Popup }
|
||||
class procedure OpenPopup(str_id: PChar); inline;
|
||||
@ -626,7 +715,7 @@ public
|
||||
class function IsItemHovered: bool; inline;
|
||||
class function IsItemHoveredRect: bool; inline;
|
||||
class function IsItemActive: bool; inline;
|
||||
class function IsItemClicked(mouse_button: longint): bool; inline;
|
||||
class function IsItemClicked(mouse_button: longint = 0): bool; inline;
|
||||
class function IsItemVisible: bool; inline;
|
||||
class function IsAnyItemHovered: bool; inline;
|
||||
class function IsAnyItemActive: bool; inline;
|
||||
@ -639,7 +728,9 @@ public
|
||||
class function IsRootWindowFocused: bool; inline;
|
||||
class function IsRootWindowOrAnyChildFocused: bool; inline;
|
||||
class function IsRootWindowOrAnyChildHovered: bool; inline;
|
||||
class function IsRectVisible(item_size: ImVec2): bool; inline;
|
||||
class function IsRectVisible(const item_size: ImVec2): bool; inline;
|
||||
class function IsRectVisible(const rect_min, rect_max: PImVec2): bool; inline;
|
||||
|
||||
class function IsPosHoveringAnyWindow(pos: ImVec2): bool; inline;
|
||||
class function GetTime: single; inline;
|
||||
class function GetFrameCount: longint; inline;
|
||||
@ -657,9 +748,9 @@ public
|
||||
class procedure ColorConvertHSVtoRGB(h: single; s: single; v: single; out_r: Psingle; out_g: Psingle; out_b: Psingle); inline;
|
||||
|
||||
class function GetKeyIndex(key: ImGuiKey): longint; inline;
|
||||
class function IsKeyDown(key_index: longint): bool; inline;
|
||||
class function IsKeyPressed(key_index: longint; _repeat: bool): bool; inline;
|
||||
class function IsKeyReleased(key_index: longint): bool; inline;
|
||||
class function IsKeyDown(user_key_index: longint): bool; inline;
|
||||
class function IsKeyPressed(user_key_index: longint; _repeat: bool): bool; inline;
|
||||
class function IsKeyReleased(user_key_index: longint): bool; inline;
|
||||
class function IsMouseDown(_button: longint): bool; inline;
|
||||
class function IsMouseClicked(_button: longint; _repeat: bool): bool; inline;
|
||||
class function IsMouseDoubleClicked(_button: longint): bool; inline;
|
||||
@ -969,7 +1060,7 @@ procedure igValueInt(prefix: PChar; v: longint); cdecl; external ImguiLibName;
|
||||
procedure igValueUInt(prefix: PChar; v: dword); cdecl; external ImguiLibName;
|
||||
procedure igValueFloat(prefix: PChar; v: single; float_format: PChar); cdecl; external ImguiLibName;
|
||||
procedure igValueColor(prefix: PChar; v: ImVec4); cdecl; external ImguiLibName;
|
||||
procedure igValueColor2(prefix: PChar; v: dword); cdecl; external ImguiLibName;
|
||||
procedure igValueColor2(prefix: PChar; v: ImU32); cdecl; external ImguiLibName;
|
||||
|
||||
{ Tooltip }
|
||||
procedure igSetTooltip(fmt: PChar; args: array of const); cdecl; external ImguiLibName;
|
||||
@ -1029,7 +1120,9 @@ function igIsWindowFocused: bool; cdecl; external ImguiLibName;
|
||||
function igIsRootWindowFocused: bool; cdecl; external ImguiLibName;
|
||||
function igIsRootWindowOrAnyChildFocused: bool; cdecl; external ImguiLibName;
|
||||
function igIsRootWindowOrAnyChildHovered: bool; cdecl; external ImguiLibName;
|
||||
function igIsRectVisible(item_size: ImVec2): bool; cdecl; external ImguiLibName;
|
||||
function igIsRectVisible(const item_size: ImVec2): bool; cdecl; external ImguiLibName;
|
||||
function igIsRectVisible2(const rect_min, rect_max: PImVec2): bool; cdecl; external ImguiLibName;
|
||||
|
||||
function igIsPosHoveringAnyWindow(pos: ImVec2): bool; cdecl; external ImguiLibName;
|
||||
function igGetTime: single; cdecl; external ImguiLibName;
|
||||
function igGetFrameCount: longint; cdecl; external ImguiLibName;
|
||||
@ -1047,9 +1140,9 @@ procedure igColorConvertRGBtoHSV(r: single; g: single; b: single; out_h: Psingle
|
||||
procedure igColorConvertHSVtoRGB(h: single; s: single; v: single; out_r: Psingle; out_g: Psingle; out_b: Psingle); cdecl; external ImguiLibName;
|
||||
|
||||
function igGetKeyIndex(key: ImGuiKey): longint; cdecl; external ImguiLibName;
|
||||
function igIsKeyDown(key_index: longint): bool; cdecl; external ImguiLibName;
|
||||
function igIsKeyPressed(key_index: longint; _repeat: bool): bool; cdecl; external ImguiLibName;
|
||||
function igIsKeyReleased(key_index: longint): bool; cdecl; external ImguiLibName;
|
||||
function igIsKeyDown(user_key_index: longint): bool; cdecl; external ImguiLibName;
|
||||
function igIsKeyPressed(user_key_index: longint; _repeat: bool): bool; cdecl; external ImguiLibName;
|
||||
function igIsKeyReleased(user_key_index: longint): bool; cdecl; external ImguiLibName;
|
||||
function igIsMouseDown(button: longint): bool; cdecl; external ImguiLibName;
|
||||
function igIsMouseClicked(button: longint; _repeat: bool): bool; cdecl; external ImguiLibName;
|
||||
function igIsMouseDoubleClicked(button: longint): bool; cdecl; external ImguiLibName;
|
||||
@ -1075,23 +1168,34 @@ procedure igSetClipboardText(Text: PChar); cdecl; external ImguiLibName;
|
||||
|
||||
{ Internal state access - if you want to share ImGui state between modules (e.g. DLL) or allocate it yourself }
|
||||
function igGetVersion(): PChar; cdecl; external ImguiLibName;
|
||||
function igGetCurrentContext(): PImGuiContext; cdecl; external ImguiLibName;
|
||||
procedure igSetCurrentContext(ctx: PImGuiContext); cdecl; external ImguiLibName;
|
||||
|
||||
procedure ImFontConfig_DefaultConstructor(config: PImFontConfig); cdecl; external ImguiLibName;
|
||||
|
||||
procedure ImFontAtlas_GetTexDataAsRGBA32(atlas: PImFontAtlas; out_pixels: PPByte; out_width, out_height: PInteger; out_bytes_per_pixel: PInteger = nil); cdecl; external ImguiLibName;
|
||||
procedure ImFontAtlas_GetTexDataAsAlpha8(atlas: PImFontAtlas; out_pixels: PPByte; out_width, out_height: PInteger; out_bytes_per_pixel: PInteger = nil); cdecl; external ImguiLibName;
|
||||
procedure ImFontAtlas_SetTexID(atlas: PImFontAtlas; tex: Pointer); cdecl; external ImguiLibName;
|
||||
procedure ImFontAtlas_SetTexID(atlas: PImFontAtlas; id: ImTextureID); cdecl; external ImguiLibName;
|
||||
|
||||
function ImFontAtlas_AddFontDefault(atlas: PImFontAtlas; config: PImFontConfig = nil): PImFont; cdecl; external ImguiLibName;
|
||||
function ImFontAtlas_AddFont(atlas: PImFontAtlas; const font_cfg: PImFontConfig): PImFont; cdecl; external ImguiLibName;
|
||||
function ImFontAtlas_AddFontFromFileTTF(atlas: PImFontAtlas; const filename: PChar; size_pixels: single; const font_cfg: PImFontConfig; const glyph_ranges: PImWchar): PImFont; cdecl; external ImguiLibName;
|
||||
{todo
|
||||
function ImFontAtlas_AddFont(struct ImFontAtlas* atlas, CONST struct ImFontConfig* font_cfg): PImFont;
|
||||
function ImFontAtlas_AddFontFromFileTTF(struct ImFontAtlas* atlas, CONST char* filename, float size_pixels, CONST struct ImFontConfig* font_cfg, CONST ImWchar* glyph_ranges): PImFont;
|
||||
function ImFontAtlas_AddFontFromMemoryTTF(struct ImFontAtlas* atlas, void* ttf_data, int ttf_size, float size_pixels, CONST struct ImFontConfig* font_cfg, CONST ImWchar* glyph_ranges): PImFont;
|
||||
function ImFontAtlas_AddFontFromMemoryCompressedTTF(struct ImFontAtlas* atlas, CONST void* compressed_ttf_data, int compressed_ttf_size, float size_pixels, CONST struct ImFontConfig* font_cfg, CONST ImWchar* glyph_ranges): PImFont;
|
||||
function ImFontAtlas_AddFontFromMemoryCompressedBase85TTF(struct ImFontAtlas* atlas, CONST char* compressed_ttf_data_base85, float size_pixels, CONST struct ImFontConfig* font_cfg, CONST ImWchar* glyph_ranges): PImFont;
|
||||
}
|
||||
|
||||
procedure ImFontAtlas_ClearTexData(atlas: PImFontAtlas); cdecl; external ImguiLibName;
|
||||
procedure ImFontAtlas_Clear(atlas: PImFontAtlas); cdecl; external ImguiLibName;
|
||||
|
||||
function ImFontAtlas_GetGlyphRangesDefault(atlas: PImFontAtlas): PImWchar; cdecl; external ImguiLibName;
|
||||
function ImFontAtlas_GetGlyphRangesKorean(atlas: PImFontAtlas): PImWchar; cdecl; external ImguiLibName;
|
||||
function ImFontAtlas_GetGlyphRangesJapanese(atlas: PImFontAtlas): PImWchar; cdecl; external ImguiLibName;
|
||||
function ImFontAtlas_GetGlyphRangesChinese(atlas: PImFontAtlas): PImWchar; cdecl; external ImguiLibName;
|
||||
function ImFontAtlas_GetGlyphRangesCyrillic(atlas: PImFontAtlas): PImWchar; cdecl; external ImguiLibName;
|
||||
function ImFontAtlas_GetGlyphRangesThai(atlas: PImFontAtlas): PImWchar; cdecl; external ImguiLibName;
|
||||
|
||||
procedure ImGuiIO_AddInputCharacter(c: word); cdecl; external ImguiLibName;
|
||||
procedure ImGuiIO_AddInputCharactersUTF8(utf8_chars: pchar); cdecl; external ImguiLibName;
|
||||
procedure ImGuiIO_ClearInputCharacters(); cdecl; external ImguiLibName;
|
||||
@ -1117,8 +1221,8 @@ procedure ImDrawList_PopTextureID(list: PImDrawList); cdecl; external ImguiLibNa
|
||||
|
||||
{ Primitives }
|
||||
procedure ImDrawList_AddLine(list: PImDrawList; a: ImVec2; b: ImVec2; col: ImU32; thickness: single); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_AddRect(list: PImDrawList; a: ImVec2; b: ImVec2; col: ImU32; rounding: single; rounding_corners: longint; thickness: single); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_AddRectFilled(list: PImDrawList; a: ImVec2; b: ImVec2; col: ImU32; rounding: single; rounding_corners: longint); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_AddRect(list: PImDrawList; a: ImVec2; b: ImVec2; col: ImU32; rounding: single; rounding_corners_flags: longint; thickness: single); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_AddRectFilled(list: PImDrawList; a: ImVec2; b: ImVec2; col: ImU32; rounding: single; rounding_corners_flags: longint); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_AddRectFilledMultiColor(list: PImDrawList; a: ImVec2; b: ImVec2; col_upr_left: ImU32; col_upr_right: ImU32;
|
||||
col_bot_right: ImU32; col_bot_left: ImU32); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_AddQuad(list: PImDrawList; a: ImVec2; b: ImVec2; c: ImVec2; d: ImVec2; col: ImU32; thickness: single); cdecl; external ImguiLibName;
|
||||
@ -1130,7 +1234,7 @@ procedure ImDrawList_AddCircleFilled(list: PImDrawList; centre: ImVec2; radius:
|
||||
procedure ImDrawList_AddText(list: PImDrawList; pos: ImVec2; col: ImU32; text_begin: PChar; text_end: PChar); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_AddTextExt(list: PImDrawList; font: PImFont; font_size: single; pos: ImVec2; col: ImU32; text_begin: PChar;
|
||||
text_end: PChar; wrap_width: single; cpu_fine_clip_rect: PImVec4); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_AddImage(list: PImDrawList; user_texture_id: ImTextureID; a: ImVec2; b: ImVec2; uv0: ImVec2; uv1: ImVec2; col: ImU32); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_AddImage(list: PImDrawList; user_texture_id: ImTextureID; a: ImVec2; b: ImVec2; uva: ImVec2; uvb: ImVec2; col: ImU32); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_AddPolyline(list: PImDrawList; points: PImVec2; num_points: longint; col: ImU32; closed: bool; thickness: single;
|
||||
anti_aliased: bool); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_AddConvexPolyFilled(list: PImDrawList; points: PImVec2; num_points: longint; col: ImU32; anti_aliased: bool); cdecl; external ImguiLibName;
|
||||
@ -1141,13 +1245,13 @@ procedure ImDrawList_AddBezierCurve(list: PImDrawList; pos0: ImVec2; cp0: ImVec2
|
||||
procedure ImDrawList_PathClear(list: PImDrawList); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_PathLineTo(list: PImDrawList; pos: ImVec2); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_PathLineToMergeDuplicate(list: PImDrawList; pos: ImVec2); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_PathFill(list: PImDrawList; col: ImU32); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_PathFillConvex(list: PImDrawList; col: ImU32); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_PathStroke(list: PImDrawList; col: ImU32; closed: bool; thickness: single); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_PathArcTo(list: PImDrawList; centre: ImVec2; radius: single; a_min: single; a_max: single; num_segments: longint); cdecl; external ImguiLibName;
|
||||
{ Use precomputed angles for a 12 steps circle }
|
||||
procedure ImDrawList_PathArcToFast(list: PImDrawList; centre: ImVec2; radius: single; a_min_of_12: longint; a_max_of_12: longint); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_PathBezierCurveTo(list: PImDrawList; p1: ImVec2; p2: ImVec2; p3: ImVec2; num_segments: longint); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_PathRect(list: PImDrawList; rect_min: ImVec2; rect_max: ImVec2; rounding: single; rounding_corners: longint); cdecl; external ImguiLibName;
|
||||
procedure ImDrawList_PathRect(list: PImDrawList; rect_min: ImVec2; rect_max: ImVec2; rounding: single; rounding_corners_flags: longint); cdecl; external ImguiLibName;
|
||||
|
||||
{ Channels }
|
||||
procedure ImDrawList_ChannelsSplit(list: PImDrawList; channels_count: longint); cdecl; external ImguiLibName;
|
||||
@ -1181,6 +1285,12 @@ begin
|
||||
result.y := y;
|
||||
end;
|
||||
|
||||
//Replacement for (void*)(intptr_t) int cast, used for IDs. Generates warnings
|
||||
function ImIDPtr(const i: integer): pointer;
|
||||
begin
|
||||
result := pointer( IntPtr(i) )
|
||||
end;
|
||||
|
||||
{ ImGui
|
||||
Keep functions short, they're mostly just wrappers. Inlining begin/end with trivial function body is ok
|
||||
}
|
||||
@ -1296,20 +1406,20 @@ class procedure ImGui.PopFont;
|
||||
begin igPopFont end;
|
||||
class procedure ImGui.PushStyleColor(idx: ImGuiCol; col: ImVec4);
|
||||
begin igPushStyleColor(idx, col) end;
|
||||
class procedure ImGui.PopStyleColor(Count: longint);
|
||||
class procedure ImGui.PopStyleColor(count: longint);
|
||||
begin igPopStyleColor(Count) end;
|
||||
class procedure ImGui.PushStyleVar(idx: ImGuiStyleVar; val: single);
|
||||
begin igPushStyleVar(idx, val) end;
|
||||
class procedure ImGui.PushStyleVarVec(idx: ImGuiStyleVar; val: ImVec2);
|
||||
begin igPushStyleVarVec(idx, val) end;
|
||||
class procedure ImGui.PopStyleVar(Count: longint);
|
||||
begin igPopStyleVar(Count) end;
|
||||
class procedure ImGui.PopStyleVar(count: longint);
|
||||
begin igPopStyleVar(count) end;
|
||||
class function ImGui.GetFont(): PImFont;
|
||||
begin result := igGetFont end;
|
||||
class function ImGui.GetFontSize: single;
|
||||
begin result := igGetFontSize end;
|
||||
class procedure ImGui.GetFontTexUvWhitePixel(pOut: PImVec2);
|
||||
begin igGetFontTexUvWhitePixel(pOut) end;
|
||||
class function ImGui.GetFontTexUvWhitePixel():ImVec2;
|
||||
begin igGetFontTexUvWhitePixel(@result); end;
|
||||
class function ImGui.GetColorU32(idx: ImGuiCol; alpha_mul: single): ImU32;
|
||||
begin result := igGetColorU32(idx, alpha_mul) end;
|
||||
class function ImGui.GetColorU32Vec(col: PImVec4): ImU32;
|
||||
@ -1419,9 +1529,9 @@ class function ImGui.GetIdPtr(ptr_id: pointer): ImGuiID;
|
||||
|
||||
{ Widgets }
|
||||
class procedure ImGui.Text(const text_: string);
|
||||
begin TextUnformatted(text_) end;
|
||||
begin igText(Pchar(text_)) end;
|
||||
class procedure ImGui.Text(const Fmt: string; const Args: array of const);
|
||||
begin TextUnformatted(Format(fmt, args)) end;
|
||||
begin Text(Format(fmt, args)) end;
|
||||
class procedure ImGui.TextColored(col: ImVec4; fmt: PChar; args: array of const);
|
||||
begin TextColored(col, Format(fmt, args)) end;
|
||||
class procedure ImGui.TextColored(col: ImVec4; const fmt: string);
|
||||
@ -1564,25 +1674,26 @@ class function ImGui.InputInt4(_label: PChar; v: TLongInt4; extra_flags: ImGuiIn
|
||||
begin result := igInputInt4(_label, v, extra_flags) end;
|
||||
|
||||
{ Widgets: Trees }
|
||||
class function ImGui.TreeNode(_label: PChar): bool;
|
||||
begin result := igTreeNode(_label) end;
|
||||
class function ImGui.TreeNodeStr(str_id: PChar; fmt: string; args: array of const): bool;
|
||||
begin result := TreeNodeStr(str_id, Format(fmt, args)) end;
|
||||
class function ImGui.TreeNodeStr(str_id: PChar; fmt: string): bool;
|
||||
begin result := igTreeNodeStr(str_id, pchar(fmt)) end;
|
||||
class function ImGui.TreeNodePtr(ptr_id: pointer; fmt: string; args: array of const): bool;
|
||||
begin result := TreeNodePtr(ptr_id, Format(fmt, args)) end;
|
||||
class function ImGui.TreeNodePtr(ptr_id: pointer; fmt: string): bool;
|
||||
class function ImGui.TreeNode(_label: string): bool;
|
||||
begin result := igTreeNode(pchar(_label)) end;
|
||||
class function ImGui.TreeNode(str_id: string; fmt: string; args: array of const): bool;
|
||||
begin result := TreeNode(str_id, Format(fmt, args)) end;
|
||||
class function ImGui.TreeNode(str_id: string; fmt: string): bool;
|
||||
begin result := igTreeNodeStr(pchar(str_id), pchar(fmt)) end;
|
||||
class function ImGui.TreeNode(ptr_id: pointer; fmt: string; args: array of const): bool;
|
||||
begin result := TreeNode(ptr_id, Format(fmt, args)) end;
|
||||
class function ImGui.TreeNode(ptr_id: pointer; fmt: string): bool;
|
||||
begin result := igTreeNodePtr(ptr_id, pchar(fmt)) end;
|
||||
|
||||
class function ImGui.TreeNodeEx(_label: PChar; flags: ImGuiTreeNodeFlags): bool;
|
||||
begin result := igTreeNodeEx(_label, flags) end;
|
||||
class function ImGui.TreeNodeExStr(str_id: PChar; flags: ImGuiTreeNodeFlags; fmt: string; args: array of const): bool;
|
||||
begin result := TreeNodeExStr(str_id, flags, Format(fmt, args)) end;
|
||||
class function ImGui.TreeNodeExStr(str_id: PChar; flags: ImGuiTreeNodeFlags; fmt: string): bool;
|
||||
class function ImGui.TreeNodeEx(str_id: PChar; flags: ImGuiTreeNodeFlags; fmt: string; args: array of const): bool;
|
||||
begin result := TreeNodeEx(str_id, flags, Format(fmt, args)) end;
|
||||
class function ImGui.TreeNodeEx(str_id: PChar; flags: ImGuiTreeNodeFlags; fmt: string): bool;
|
||||
begin result := igTreeNodeExStr(str_id, flags, pchar(fmt)) end;
|
||||
class function ImGui.TreeNodeExPtr(ptr_id: pointer; flags: ImGuiTreeNodeFlags; fmt: string; args: array of const): bool;
|
||||
begin result := TreeNodeExPtr(ptr_id, flags, Format(fmt, args)) end;
|
||||
class function ImGui.TreeNodeExPtr(ptr_id: pointer; flags: ImGuiTreeNodeFlags; fmt: string): bool;
|
||||
class function ImGui.TreeNodeEx(ptr_id: pointer; flags: ImGuiTreeNodeFlags; fmt: string; args: array of const): bool;
|
||||
begin result := TreeNodeEx(ptr_id, flags, Format(fmt, args)) end;
|
||||
class function ImGui.TreeNodeEx(ptr_id: pointer; flags: ImGuiTreeNodeFlags; fmt: string): bool;
|
||||
begin result := igTreeNodeExPtr(ptr_id, flags, pchar(fmt)) end;
|
||||
class procedure ImGui.TreePushStr(str_id: PChar);
|
||||
begin igTreePushStr(str_id) end;
|
||||
@ -1598,7 +1709,7 @@ class procedure ImGui.SetNextTreeNodeOpen(opened: bool; cond: ImGuiSetCond = 0);
|
||||
begin igSetNextTreeNodeOpen(opened, cond) end;
|
||||
class function ImGui.CollapsingHeader(_label: PChar; flags: ImGuiTreeNodeFlags): bool;
|
||||
begin result := igCollapsingHeader(_label, flags) end;
|
||||
class function ImGui.CollapsingHeaderEx(_label: PChar; p_open: Pbool; flags: ImGuiTreeNodeFlags): bool;
|
||||
class function ImGui.CollapsingHeader(_label: PChar; p_open: Pbool; flags: ImGuiTreeNodeFlags): bool;
|
||||
begin result := igCollapsingHeaderEx(_label, p_open, flags) end;
|
||||
|
||||
{ Widgets: Selectable / Lists }
|
||||
@ -1628,7 +1739,7 @@ class procedure ImGui.ValueFloat(prefix: PChar; v: single; float_format: PChar);
|
||||
begin igValueFloat(prefix, v, float_format) end;
|
||||
class procedure ImGui.ValueColor(prefix: PChar; v: ImVec4);
|
||||
begin igValueColor(prefix, v) end;
|
||||
class procedure ImGui.ValueColor2(prefix: PChar; v: dword);
|
||||
class procedure ImGui.ValueColor(prefix: PChar; v: ImU32);
|
||||
begin igValueColor2(prefix, v) end;
|
||||
|
||||
{ Tooltip }
|
||||
@ -1656,7 +1767,7 @@ class procedure ImGui.EndMenu;
|
||||
begin igEndMenu end;
|
||||
class function ImGui.MenuItem(_label: PChar; shortcut: PChar; selected: bool; Enabled: bool): bool;
|
||||
begin result := igMenuItem(_label, shortcut, selected, Enabled) end;
|
||||
class function ImGui.MenuItemPtr(_label: PChar; shortcut: PChar; p_selected: Pbool; Enabled: bool): bool;
|
||||
class function ImGui.MenuItem(_label: PChar; shortcut: PChar; p_selected: Pbool; Enabled: bool): bool;
|
||||
begin result := igMenuItemPtr(_label, shortcut, p_selected, Enabled) end;
|
||||
|
||||
{ Popup }
|
||||
@ -1732,8 +1843,10 @@ class function ImGui.IsRootWindowOrAnyChildFocused: bool;
|
||||
begin result := igIsRootWindowOrAnyChildFocused end;
|
||||
class function ImGui.IsRootWindowOrAnyChildHovered: bool;
|
||||
begin result := igIsRootWindowOrAnyChildHovered end;
|
||||
class function ImGui.IsRectVisible(item_size: ImVec2): bool;
|
||||
class function ImGui.IsRectVisible(const item_size: ImVec2): bool;
|
||||
begin result := igIsRectVisible(item_size) end;
|
||||
class function ImGui.IsRectVisible(const rect_min, rect_max: PImVec2): bool;
|
||||
begin result := igIsRectVisible2(rect_min, rect_max) end;
|
||||
class function ImGui.IsPosHoveringAnyWindow(pos: ImVec2): bool;
|
||||
begin result := igIsPosHoveringAnyWindow(pos) end;
|
||||
class function ImGui.GetTime: single;
|
||||
@ -1766,12 +1879,12 @@ class procedure ImGui.ColorConvertHSVtoRGB(h: single; s: single; v: single; out_
|
||||
|
||||
class function ImGui.GetKeyIndex(key: ImGuiKey): longint;
|
||||
begin result := igGetKeyIndex(key) end;
|
||||
class function ImGui.IsKeyDown(key_index: longint): bool;
|
||||
begin result := igIsKeyDown(key_index) end;
|
||||
class function ImGui.IsKeyPressed(key_index: longint; _repeat: bool): bool;
|
||||
begin result := igIsKeyPressed(key_index, _repeat) end;
|
||||
class function ImGui.IsKeyReleased(key_index: longint): bool;
|
||||
begin result := igIsKeyReleased(key_index) end;
|
||||
class function ImGui.IsKeyDown(user_key_index: longint): bool;
|
||||
begin result := igIsKeyDown(user_key_index) end;
|
||||
class function ImGui.IsKeyPressed(user_key_index: longint; _repeat: bool): bool;
|
||||
begin result := igIsKeyPressed(user_key_index, _repeat) end;
|
||||
class function ImGui.IsKeyReleased(user_key_index: longint): bool;
|
||||
begin result := igIsKeyReleased(user_key_index) end;
|
||||
class function ImGui.IsMouseDown(_button: longint): bool;
|
||||
begin result := igIsMouseDown(_button) end;
|
||||
class function ImGui.IsMouseClicked(_button: longint; _repeat: bool): bool;
|
||||
|
@ -58,6 +58,7 @@
|
||||
<Unit5>
|
||||
<Filename Value="sdl2\sdl2.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="SDL2"/>
|
||||
</Unit5>
|
||||
<Unit6>
|
||||
<Filename Value="imgui\fpimgui.pas"/>
|
||||
|
@ -418,7 +418,7 @@ begin
|
||||
Imgui.Checkbox('textures', @view.opts.textures);
|
||||
Imgui.Checkbox('vertex colors', @view.opts.vcolors);
|
||||
if g_model <> nil then
|
||||
if Imgui.Button('Export to obj', ImVec2Init(0,0)) then
|
||||
if Imgui.Button('Export to obj') then
|
||||
g_model.ExportObj('rs_exported.obj');
|
||||
Imgui.End_;
|
||||
|
||||
|
@ -1,165 +0,0 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
This version of the GNU Lesser General Public License incorporates
|
||||
the terms and conditions of version 3 of the GNU General Public
|
||||
License, supplemented by the additional permissions listed below.
|
||||
|
||||
0. Additional Definitions.
|
||||
|
||||
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||
General Public License.
|
||||
|
||||
"The Library" refers to a covered work governed by this License,
|
||||
other than an Application or a Combined Work as defined below.
|
||||
|
||||
An "Application" is any work that makes use of an interface provided
|
||||
by the Library, but which is not otherwise based on the Library.
|
||||
Defining a subclass of a class defined by the Library is deemed a mode
|
||||
of using an interface provided by the Library.
|
||||
|
||||
A "Combined Work" is a work produced by combining or linking an
|
||||
Application with the Library. The particular version of the Library
|
||||
with which the Combined Work was made is also called the "Linked
|
||||
Version".
|
||||
|
||||
The "Minimal Corresponding Source" for a Combined Work means the
|
||||
Corresponding Source for the Combined Work, excluding any source code
|
||||
for portions of the Combined Work that, considered in isolation, are
|
||||
based on the Application, and not on the Linked Version.
|
||||
|
||||
The "Corresponding Application Code" for a Combined Work means the
|
||||
object code and/or source code for the Application, including any data
|
||||
and utility programs needed for reproducing the Combined Work from the
|
||||
Application, but excluding the System Libraries of the Combined Work.
|
||||
|
||||
1. Exception to Section 3 of the GNU GPL.
|
||||
|
||||
You may convey a covered work under sections 3 and 4 of this License
|
||||
without being bound by section 3 of the GNU GPL.
|
||||
|
||||
2. Conveying Modified Versions.
|
||||
|
||||
If you modify a copy of the Library, and, in your modifications, a
|
||||
facility refers to a function or data to be supplied by an Application
|
||||
that uses the facility (other than as an argument passed when the
|
||||
facility is invoked), then you may convey a copy of the modified
|
||||
version:
|
||||
|
||||
a) under this License, provided that you make a good faith effort to
|
||||
ensure that, in the event an Application does not supply the
|
||||
function or data, the facility still operates, and performs
|
||||
whatever part of its purpose remains meaningful, or
|
||||
|
||||
b) under the GNU GPL, with none of the additional permissions of
|
||||
this License applicable to that copy.
|
||||
|
||||
3. Object Code Incorporating Material from Library Header Files.
|
||||
|
||||
The object code form of an Application may incorporate material from
|
||||
a header file that is part of the Library. You may convey such object
|
||||
code under terms of your choice, provided that, if the incorporated
|
||||
material is not limited to numerical parameters, data structure
|
||||
layouts and accessors, or small macros, inline functions and templates
|
||||
(ten or fewer lines in length), you do both of the following:
|
||||
|
||||
a) Give prominent notice with each copy of the object code that the
|
||||
Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
4. Combined Works.
|
||||
|
||||
You may convey a Combined Work under terms of your choice that,
|
||||
taken together, effectively do not restrict modification of the
|
||||
portions of the Library contained in the Combined Work and reverse
|
||||
engineering for debugging such modifications, if you also do each of
|
||||
the following:
|
||||
|
||||
a) Give prominent notice with each copy of the Combined Work that
|
||||
the Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
c) For a Combined Work that displays copyright notices during
|
||||
execution, include the copyright notice for the Library among
|
||||
these notices, as well as a reference directing the user to the
|
||||
copies of the GNU GPL and this license document.
|
||||
|
||||
d) Do one of the following:
|
||||
|
||||
0) Convey the Minimal Corresponding Source under the terms of this
|
||||
License, and the Corresponding Application Code in a form
|
||||
suitable for, and under terms that permit, the user to
|
||||
recombine or relink the Application with a modified version of
|
||||
the Linked Version to produce a modified Combined Work, in the
|
||||
manner specified by section 6 of the GNU GPL for conveying
|
||||
Corresponding Source.
|
||||
|
||||
1) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (a) uses at run time
|
||||
a copy of the Library already present on the user's computer
|
||||
system, and (b) will operate properly with a modified version
|
||||
of the Library that is interface-compatible with the Linked
|
||||
Version.
|
||||
|
||||
e) Provide Installation Information, but only if you would otherwise
|
||||
be required to provide such information under section 6 of the
|
||||
GNU GPL, and only to the extent that such information is
|
||||
necessary to install and execute a modified version of the
|
||||
Combined Work produced by recombining or relinking the
|
||||
Application with a modified version of the Linked Version. (If
|
||||
you use option 4d0, the Installation Information must accompany
|
||||
the Minimal Corresponding Source and Corresponding Application
|
||||
Code. If you use option 4d1, you must provide the Installation
|
||||
Information in the manner specified by section 6 of the GNU GPL
|
||||
for conveying Corresponding Source.)
|
||||
|
||||
5. Combined Libraries.
|
||||
|
||||
You may place library facilities that are a work based on the
|
||||
Library side by side in a single library together with other library
|
||||
facilities that are not Applications and are not covered by this
|
||||
License, and convey such a combined library under terms of your
|
||||
choice, if you do both of the following:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work based
|
||||
on the Library, uncombined with any other library facilities,
|
||||
conveyed under the terms of this License.
|
||||
|
||||
b) Give prominent notice with the combined library that part of it
|
||||
is a work based on the Library, and explaining where to find the
|
||||
accompanying uncombined form of the same work.
|
||||
|
||||
6. Revised Versions of the GNU Lesser General Public License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions
|
||||
of the GNU Lesser General Public License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Library as you received it specifies that a certain numbered version
|
||||
of the GNU Lesser General Public License "or any later version"
|
||||
applies to it, you have the option of following the terms and
|
||||
conditions either of that published version or of any later version
|
||||
published by the Free Software Foundation. If the Library as you
|
||||
received it does not specify a version number of the GNU Lesser
|
||||
General Public License, you may choose any version of the GNU Lesser
|
||||
General Public License ever published by the Free Software Foundation.
|
||||
|
||||
If the Library as you received it specifies that a proxy can decide
|
||||
whether future versions of the GNU Lesser General Public License shall
|
||||
apply, that proxy's public statement of acceptance of any version is
|
||||
permanent authorization for you to choose that version for the
|
||||
Library.
|
373
model_viewer/sdl2/sdl2-LICENSE
Normal file
373
model_viewer/sdl2/sdl2-LICENSE
Normal file
@ -0,0 +1,373 @@
|
||||
Mozilla Public License Version 2.0
|
||||
==================================
|
||||
|
||||
1. Definitions
|
||||
--------------
|
||||
|
||||
1.1. "Contributor"
|
||||
means each individual or legal entity that creates, contributes to
|
||||
the creation of, or owns Covered Software.
|
||||
|
||||
1.2. "Contributor Version"
|
||||
means the combination of the Contributions of others (if any) used
|
||||
by a Contributor and that particular Contributor's Contribution.
|
||||
|
||||
1.3. "Contribution"
|
||||
means Covered Software of a particular Contributor.
|
||||
|
||||
1.4. "Covered Software"
|
||||
means Source Code Form to which the initial Contributor has attached
|
||||
the notice in Exhibit A, the Executable Form of such Source Code
|
||||
Form, and Modifications of such Source Code Form, in each case
|
||||
including portions thereof.
|
||||
|
||||
1.5. "Incompatible With Secondary Licenses"
|
||||
means
|
||||
|
||||
(a) that the initial Contributor has attached the notice described
|
||||
in Exhibit B to the Covered Software; or
|
||||
|
||||
(b) that the Covered Software was made available under the terms of
|
||||
version 1.1 or earlier of the License, but not also under the
|
||||
terms of a Secondary License.
|
||||
|
||||
1.6. "Executable Form"
|
||||
means any form of the work other than Source Code Form.
|
||||
|
||||
1.7. "Larger Work"
|
||||
means a work that combines Covered Software with other material, in
|
||||
a separate file or files, that is not Covered Software.
|
||||
|
||||
1.8. "License"
|
||||
means this document.
|
||||
|
||||
1.9. "Licensable"
|
||||
means having the right to grant, to the maximum extent possible,
|
||||
whether at the time of the initial grant or subsequently, any and
|
||||
all of the rights conveyed by this License.
|
||||
|
||||
1.10. "Modifications"
|
||||
means any of the following:
|
||||
|
||||
(a) any file in Source Code Form that results from an addition to,
|
||||
deletion from, or modification of the contents of Covered
|
||||
Software; or
|
||||
|
||||
(b) any new file in Source Code Form that contains any Covered
|
||||
Software.
|
||||
|
||||
1.11. "Patent Claims" of a Contributor
|
||||
means any patent claim(s), including without limitation, method,
|
||||
process, and apparatus claims, in any patent Licensable by such
|
||||
Contributor that would be infringed, but for the grant of the
|
||||
License, by the making, using, selling, offering for sale, having
|
||||
made, import, or transfer of either its Contributions or its
|
||||
Contributor Version.
|
||||
|
||||
1.12. "Secondary License"
|
||||
means either the GNU General Public License, Version 2.0, the GNU
|
||||
Lesser General Public License, Version 2.1, the GNU Affero General
|
||||
Public License, Version 3.0, or any later versions of those
|
||||
licenses.
|
||||
|
||||
1.13. "Source Code Form"
|
||||
means the form of the work preferred for making modifications.
|
||||
|
||||
1.14. "You" (or "Your")
|
||||
means an individual or a legal entity exercising rights under this
|
||||
License. For legal entities, "You" includes any entity that
|
||||
controls, is controlled by, or is under common control with You. For
|
||||
purposes of this definition, "control" means (a) the power, direct
|
||||
or indirect, to cause the direction or management of such entity,
|
||||
whether by contract or otherwise, or (b) ownership of more than
|
||||
fifty percent (50%) of the outstanding shares or beneficial
|
||||
ownership of such entity.
|
||||
|
||||
2. License Grants and Conditions
|
||||
--------------------------------
|
||||
|
||||
2.1. Grants
|
||||
|
||||
Each Contributor hereby grants You a world-wide, royalty-free,
|
||||
non-exclusive license:
|
||||
|
||||
(a) under intellectual property rights (other than patent or trademark)
|
||||
Licensable by such Contributor to use, reproduce, make available,
|
||||
modify, display, perform, distribute, and otherwise exploit its
|
||||
Contributions, either on an unmodified basis, with Modifications, or
|
||||
as part of a Larger Work; and
|
||||
|
||||
(b) under Patent Claims of such Contributor to make, use, sell, offer
|
||||
for sale, have made, import, and otherwise transfer either its
|
||||
Contributions or its Contributor Version.
|
||||
|
||||
2.2. Effective Date
|
||||
|
||||
The licenses granted in Section 2.1 with respect to any Contribution
|
||||
become effective for each Contribution on the date the Contributor first
|
||||
distributes such Contribution.
|
||||
|
||||
2.3. Limitations on Grant Scope
|
||||
|
||||
The licenses granted in this Section 2 are the only rights granted under
|
||||
this License. No additional rights or licenses will be implied from the
|
||||
distribution or licensing of Covered Software under this License.
|
||||
Notwithstanding Section 2.1(b) above, no patent license is granted by a
|
||||
Contributor:
|
||||
|
||||
(a) for any code that a Contributor has removed from Covered Software;
|
||||
or
|
||||
|
||||
(b) for infringements caused by: (i) Your and any other third party's
|
||||
modifications of Covered Software, or (ii) the combination of its
|
||||
Contributions with other software (except as part of its Contributor
|
||||
Version); or
|
||||
|
||||
(c) under Patent Claims infringed by Covered Software in the absence of
|
||||
its Contributions.
|
||||
|
||||
This License does not grant any rights in the trademarks, service marks,
|
||||
or logos of any Contributor (except as may be necessary to comply with
|
||||
the notice requirements in Section 3.4).
|
||||
|
||||
2.4. Subsequent Licenses
|
||||
|
||||
No Contributor makes additional grants as a result of Your choice to
|
||||
distribute the Covered Software under a subsequent version of this
|
||||
License (see Section 10.2) or under the terms of a Secondary License (if
|
||||
permitted under the terms of Section 3.3).
|
||||
|
||||
2.5. Representation
|
||||
|
||||
Each Contributor represents that the Contributor believes its
|
||||
Contributions are its original creation(s) or it has sufficient rights
|
||||
to grant the rights to its Contributions conveyed by this License.
|
||||
|
||||
2.6. Fair Use
|
||||
|
||||
This License is not intended to limit any rights You have under
|
||||
applicable copyright doctrines of fair use, fair dealing, or other
|
||||
equivalents.
|
||||
|
||||
2.7. Conditions
|
||||
|
||||
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
|
||||
in Section 2.1.
|
||||
|
||||
3. Responsibilities
|
||||
-------------------
|
||||
|
||||
3.1. Distribution of Source Form
|
||||
|
||||
All distribution of Covered Software in Source Code Form, including any
|
||||
Modifications that You create or to which You contribute, must be under
|
||||
the terms of this License. You must inform recipients that the Source
|
||||
Code Form of the Covered Software is governed by the terms of this
|
||||
License, and how they can obtain a copy of this License. You may not
|
||||
attempt to alter or restrict the recipients' rights in the Source Code
|
||||
Form.
|
||||
|
||||
3.2. Distribution of Executable Form
|
||||
|
||||
If You distribute Covered Software in Executable Form then:
|
||||
|
||||
(a) such Covered Software must also be made available in Source Code
|
||||
Form, as described in Section 3.1, and You must inform recipients of
|
||||
the Executable Form how they can obtain a copy of such Source Code
|
||||
Form by reasonable means in a timely manner, at a charge no more
|
||||
than the cost of distribution to the recipient; and
|
||||
|
||||
(b) You may distribute such Executable Form under the terms of this
|
||||
License, or sublicense it under different terms, provided that the
|
||||
license for the Executable Form does not attempt to limit or alter
|
||||
the recipients' rights in the Source Code Form under this License.
|
||||
|
||||
3.3. Distribution of a Larger Work
|
||||
|
||||
You may create and distribute a Larger Work under terms of Your choice,
|
||||
provided that You also comply with the requirements of this License for
|
||||
the Covered Software. If the Larger Work is a combination of Covered
|
||||
Software with a work governed by one or more Secondary Licenses, and the
|
||||
Covered Software is not Incompatible With Secondary Licenses, this
|
||||
License permits You to additionally distribute such Covered Software
|
||||
under the terms of such Secondary License(s), so that the recipient of
|
||||
the Larger Work may, at their option, further distribute the Covered
|
||||
Software under the terms of either this License or such Secondary
|
||||
License(s).
|
||||
|
||||
3.4. Notices
|
||||
|
||||
You may not remove or alter the substance of any license notices
|
||||
(including copyright notices, patent notices, disclaimers of warranty,
|
||||
or limitations of liability) contained within the Source Code Form of
|
||||
the Covered Software, except that You may alter any license notices to
|
||||
the extent required to remedy known factual inaccuracies.
|
||||
|
||||
3.5. Application of Additional Terms
|
||||
|
||||
You may choose to offer, and to charge a fee for, warranty, support,
|
||||
indemnity or liability obligations to one or more recipients of Covered
|
||||
Software. However, You may do so only on Your own behalf, and not on
|
||||
behalf of any Contributor. You must make it absolutely clear that any
|
||||
such warranty, support, indemnity, or liability obligation is offered by
|
||||
You alone, and You hereby agree to indemnify every Contributor for any
|
||||
liability incurred by such Contributor as a result of warranty, support,
|
||||
indemnity or liability terms You offer. You may include additional
|
||||
disclaimers of warranty and limitations of liability specific to any
|
||||
jurisdiction.
|
||||
|
||||
4. Inability to Comply Due to Statute or Regulation
|
||||
---------------------------------------------------
|
||||
|
||||
If it is impossible for You to comply with any of the terms of this
|
||||
License with respect to some or all of the Covered Software due to
|
||||
statute, judicial order, or regulation then You must: (a) comply with
|
||||
the terms of this License to the maximum extent possible; and (b)
|
||||
describe the limitations and the code they affect. Such description must
|
||||
be placed in a text file included with all distributions of the Covered
|
||||
Software under this License. Except to the extent prohibited by statute
|
||||
or regulation, such description must be sufficiently detailed for a
|
||||
recipient of ordinary skill to be able to understand it.
|
||||
|
||||
5. Termination
|
||||
--------------
|
||||
|
||||
5.1. The rights granted under this License will terminate automatically
|
||||
if You fail to comply with any of its terms. However, if You become
|
||||
compliant, then the rights granted under this License from a particular
|
||||
Contributor are reinstated (a) provisionally, unless and until such
|
||||
Contributor explicitly and finally terminates Your grants, and (b) on an
|
||||
ongoing basis, if such Contributor fails to notify You of the
|
||||
non-compliance by some reasonable means prior to 60 days after You have
|
||||
come back into compliance. Moreover, Your grants from a particular
|
||||
Contributor are reinstated on an ongoing basis if such Contributor
|
||||
notifies You of the non-compliance by some reasonable means, this is the
|
||||
first time You have received notice of non-compliance with this License
|
||||
from such Contributor, and You become compliant prior to 30 days after
|
||||
Your receipt of the notice.
|
||||
|
||||
5.2. If You initiate litigation against any entity by asserting a patent
|
||||
infringement claim (excluding declaratory judgment actions,
|
||||
counter-claims, and cross-claims) alleging that a Contributor Version
|
||||
directly or indirectly infringes any patent, then the rights granted to
|
||||
You by any and all Contributors for the Covered Software under Section
|
||||
2.1 of this License shall terminate.
|
||||
|
||||
5.3. In the event of termination under Sections 5.1 or 5.2 above, all
|
||||
end user license agreements (excluding distributors and resellers) which
|
||||
have been validly granted by You or Your distributors under this License
|
||||
prior to termination shall survive termination.
|
||||
|
||||
************************************************************************
|
||||
* *
|
||||
* 6. Disclaimer of Warranty *
|
||||
* ------------------------- *
|
||||
* *
|
||||
* Covered Software is provided under this License on an "as is" *
|
||||
* basis, without warranty of any kind, either expressed, implied, or *
|
||||
* statutory, including, without limitation, warranties that the *
|
||||
* Covered Software is free of defects, merchantable, fit for a *
|
||||
* particular purpose or non-infringing. The entire risk as to the *
|
||||
* quality and performance of the Covered Software is with You. *
|
||||
* Should any Covered Software prove defective in any respect, You *
|
||||
* (not any Contributor) assume the cost of any necessary servicing, *
|
||||
* repair, or correction. This disclaimer of warranty constitutes an *
|
||||
* essential part of this License. No use of any Covered Software is *
|
||||
* authorized under this License except under this disclaimer. *
|
||||
* *
|
||||
************************************************************************
|
||||
|
||||
************************************************************************
|
||||
* *
|
||||
* 7. Limitation of Liability *
|
||||
* -------------------------- *
|
||||
* *
|
||||
* Under no circumstances and under no legal theory, whether tort *
|
||||
* (including negligence), contract, or otherwise, shall any *
|
||||
* Contributor, or anyone who distributes Covered Software as *
|
||||
* permitted above, be liable to You for any direct, indirect, *
|
||||
* special, incidental, or consequential damages of any character *
|
||||
* including, without limitation, damages for lost profits, loss of *
|
||||
* goodwill, work stoppage, computer failure or malfunction, or any *
|
||||
* and all other commercial damages or losses, even if such party *
|
||||
* shall have been informed of the possibility of such damages. This *
|
||||
* limitation of liability shall not apply to liability for death or *
|
||||
* personal injury resulting from such party's negligence to the *
|
||||
* extent applicable law prohibits such limitation. Some *
|
||||
* jurisdictions do not allow the exclusion or limitation of *
|
||||
* incidental or consequential damages, so this exclusion and *
|
||||
* limitation may not apply to You. *
|
||||
* *
|
||||
************************************************************************
|
||||
|
||||
8. Litigation
|
||||
-------------
|
||||
|
||||
Any litigation relating to this License may be brought only in the
|
||||
courts of a jurisdiction where the defendant maintains its principal
|
||||
place of business and such litigation shall be governed by laws of that
|
||||
jurisdiction, without reference to its conflict-of-law provisions.
|
||||
Nothing in this Section shall prevent a party's ability to bring
|
||||
cross-claims or counter-claims.
|
||||
|
||||
9. Miscellaneous
|
||||
----------------
|
||||
|
||||
This License represents the complete agreement concerning the subject
|
||||
matter hereof. If any provision of this License is held to be
|
||||
unenforceable, such provision shall be reformed only to the extent
|
||||
necessary to make it enforceable. Any law or regulation which provides
|
||||
that the language of a contract shall be construed against the drafter
|
||||
shall not be used to construe this License against a Contributor.
|
||||
|
||||
10. Versions of the License
|
||||
---------------------------
|
||||
|
||||
10.1. New Versions
|
||||
|
||||
Mozilla Foundation is the license steward. Except as provided in Section
|
||||
10.3, no one other than the license steward has the right to modify or
|
||||
publish new versions of this License. Each version will be given a
|
||||
distinguishing version number.
|
||||
|
||||
10.2. Effect of New Versions
|
||||
|
||||
You may distribute the Covered Software under the terms of the version
|
||||
of the License under which You originally received the Covered Software,
|
||||
or under the terms of any subsequent version published by the license
|
||||
steward.
|
||||
|
||||
10.3. Modified Versions
|
||||
|
||||
If you create software not governed by this License, and you want to
|
||||
create a new license for such software, you may create and use a
|
||||
modified version of this License if you rename the license and remove
|
||||
any references to the name of the license steward (except to note that
|
||||
such modified license differs from this License).
|
||||
|
||||
10.4. Distributing Source Code Form that is Incompatible With Secondary
|
||||
Licenses
|
||||
|
||||
If You choose to distribute Source Code Form that is Incompatible With
|
||||
Secondary Licenses under the terms of this version of the License, the
|
||||
notice described in Exhibit B of this License must be attached.
|
||||
|
||||
Exhibit A - Source Code Form License Notice
|
||||
-------------------------------------------
|
||||
|
||||
This Source Code Form is subject to the terms of the Mozilla Public
|
||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
If it is not possible or desirable to put the notice in a particular
|
||||
file, then You may include the notice in a location (such as a LICENSE
|
||||
file in a relevant directory) where a recipient would be likely to look
|
||||
for such a notice.
|
||||
|
||||
You may add additional accurate notices of copyright ownership.
|
||||
|
||||
Exhibit B - "Incompatible With Secondary Licenses" Notice
|
||||
---------------------------------------------------------
|
||||
|
||||
This Source Code Form is "Incompatible With Secondary Licenses", as
|
||||
defined by the Mozilla Public License, v. 2.0.
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user