Natively mapped ImGuiStyle class

This commit is contained in:
SpaiR committed 2020-02-14 22:43:37 +03:00
1 parent 1833ab5fe8
commit 7ddf242ab4
2 files changed
+385 -209

No files matched your search

+42 -3
View File
@@ -19,13 +19,13 @@ public final class ImGui {
private static final ImDrawData DRAW_DATA;
private static final ImGuiIO IMGUI_IO;
private static final ImGuiStyle IMGUI_STYLE;
private static final ImDrawList IM_DRAW_LIST_WINDOW = new ImDrawList(ImDrawList.TYPE_WINDOW);
private static final ImDrawList IM_DRAW_LIST_BACKGROUND = new ImDrawList(ImDrawList.TYPE_BACKGROUND);
private static final ImDrawList IM_DRAW_LIST_FOREGROUND = new ImDrawList(ImDrawList.TYPE_FOREGROUND);
private static ImFont font;
private static ImGuiStyle style;
static {
final String libPath = System.getProperty(LIB_PATH_PROP);
@@ -44,7 +44,6 @@ public final class ImGui {
DRAW_DATA = new ImDrawData(100_000, 100_000, 1000);
IMGUI_IO = new ImGuiIO();
IMGUI_STYLE = new ImGuiStyle();
nInitJni();
ImDrawList.nInit();
@@ -53,6 +52,7 @@ public final class ImGui {
ImFontConfig.nInit();
ImFontGlyph.nInit();
ImFont.nInit();
ImGuiStyle.nInit();
nInitInputTextData();
}
@@ -150,9 +150,16 @@ public final class ImGui {
* Access the Style structure (colors, sizes). Always use PushStyleCol(), PushStyleVar() to modify style mid-frame.
*/
public static ImGuiStyle getStyle() {
return IMGUI_STYLE;
if (style == null) {
style = new ImGuiStyle(nGetStyle());
}
return style;
}
private static native long nGetStyle(); /*
return (long)(intptr_t)&ImGui::GetStyle();
*/
/**
* Start a new Dear ImGui frame, you can submit any command from this point until Render()/EndFrame().
*/
@@ -248,6 +255,14 @@ public final class ImGui {
ImGui::ShowStyleEditor();
*/
public static void showStyleEditor(ImGuiStyle ref) {
nShowStyleEditor(ref.ptr);
}
private static native void nShowStyleEditor(long ref); /*
ImGui::ShowStyleEditor((ImGuiStyle*)ref);
*/
/**
* Add style selector block (not a window), essentially a combo listing the default styles.
*/
@@ -285,6 +300,14 @@ public final class ImGui {
ImGui::StyleColorsDark();
*/
public static void styleColorsDark(ImGuiStyle ref) {
nStyleColorsDark(ref.ptr);
}
private static native void nStyleColorsDark(long ref); /*
ImGui::StyleColorsDark((ImGuiStyle*)ref);
*/
/**
* Classic imgui style
*/
@@ -292,6 +315,14 @@ public final class ImGui {
ImGui::StyleColorsClassic();
*/
public static void styleColorsClassic(ImGuiStyle ref) {
nStyleColorsClassic(ref.ptr);
}
private static native void nStyleColorsClassic(long ref); /*
ImGui::StyleColorsClassic((ImGuiStyle*)ref);
*/
/**
* Best used with borders and a custom, thicker font
*/
@@ -299,6 +330,14 @@ public final class ImGui {
ImGui::StyleColorsLight();
*/
public static void styleColorsLight(ImGuiStyle ref) {
nStyleColorsLight(ref.ptr);
}
private static native void nStyleColorsLight(long ref); /*
ImGui::StyleColorsLight((ImGuiStyle*)ref);
*/
// Windows
// - Begin() = push window to the stack and start appending to it. End() = pop window from the stack.
// - You may append multiple times to the same window during the same frame.
+343 -206
View File
@@ -4,406 +4,543 @@ package imgui;
* You may modify the ImGui::GetStyle() main instance during initialization and before NewFrame().
* During the frame, use ImGui::PushStyleVar(ImGuiStyleVar_XXXX)/PopStyleVar() to alter the main style values,
* and ImGui::PushStyleColor(ImGuiCol_XXX)/PopStyleColor() for colors.
* <p>
* BINDING NOTICE: This is not a fully featured representation of ImGuiStyle struct from C++.
* Mostly it's a stub which communicates with default ImGuiStyle used by ImGuiIO.
* Still can be used to make your interface look different, since all of the fields from the original header file are represented here.
*/
public final class ImGuiStyle {
ImGuiStyle() {
public final class ImGuiStyle implements ImDestroyable {
final long ptr;
/**
* This class will create a native structure.
* Call {@link #destroy()} method to manually free used memory.
*/
public ImGuiStyle() {
ImGui.touch();
ptr = nCreate();
}
ImGuiStyle(final long ptr) {
this.ptr = ptr;
}
@Override
public void destroy() {
nDestroy(ptr);
}
/*JNI
#include <imgui.h>
#include <stdint.h>
#include "jni_common.h"
jfieldID imGuiStylePtrID;
#define IMGUI_STYLE ((ImGuiStyle*)env->GetLongField(object, imGuiStylePtrID))
*/
// Alpha
// Global alpha applies to everything in Dear ImGui.
//
static native void nInit(); /*
jclass jImGuiStyleClass = env->FindClass("imgui/ImGuiStyle");
imGuiStylePtrID = env->GetFieldID(jImGuiStyleClass, "ptr", "J");
*/
private native long nCreate(); /*
ImGuiStyle* imGuiStyle = new ImGuiStyle();
return (long)(intptr_t)imGuiStyle;
*/
private native void nDestroy(long ptr); /*
delete (ImGuiStyle*)ptr;
*/
/**
* Global alpha applies to everything in Dear ImGui.
*/
public native float getAlpha(); /*
return ImGui::GetStyle().Alpha;
return IMGUI_STYLE->Alpha;
*/
/**
* Global alpha applies to everything in Dear ImGui.
*/
public native void setAlpha(float alpha); /*
ImGui::GetStyle().Alpha = alpha;
IMGUI_STYLE->Alpha = alpha;
*/
// WindowPadding
// Padding within a window.
//
/**
* Padding within a window.
*/
public native void getWindowPadding(ImVec2 dstImVec2); /*
Jni::ImVec2Cpy(env, &ImGui::GetStyle().WindowPadding, dstImVec2);
Jni::ImVec2Cpy(env, &IMGUI_STYLE->WindowPadding, dstImVec2);
*/
/**
* Padding within a window.
*/
public native void setWindowPadding(float x, float y); /*
ImGui::GetStyle().WindowPadding.x = x;
ImGui::GetStyle().WindowPadding.y = y;
IMGUI_STYLE->WindowPadding.x = x;
IMGUI_STYLE->WindowPadding.y = y;
*/
// WindowRounding
// Radius of window corners rounding. Set to 0.0f to have rectangular windows.
//
/**
* Radius of window corners rounding. Set to 0.0f to have rectangular windows.
*/
public native float getWindowRounding(); /*
return ImGui::GetStyle().WindowRounding;
return IMGUI_STYLE->WindowRounding;
*/
/**
* Radius of window corners rounding. Set to 0.0f to have rectangular windows.
*/
public native void setWindowRounding(float windowRounding); /*
ImGui::GetStyle().WindowRounding = windowRounding;
IMGUI_STYLE->WindowRounding = windowRounding;
*/
// WindowBorderSize
// Thickness of border around windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
//
/**
* Thickness of border around windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
*/
public native float getWindowBorderSize(); /*
return ImGui::GetStyle().WindowBorderSize;
return IMGUI_STYLE->WindowBorderSize;
*/
/**
* Thickness of border around windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
*/
public native void setWindowBorderSize(float windowBorderSize); /*
ImGui::GetStyle().WindowBorderSize = windowBorderSize;
IMGUI_STYLE->WindowBorderSize = windowBorderSize;
*/
// WindowMinSize
// Minimum window size. This is a global setting. If you want to constraint individual windows, use SetNextWindowSizeConstraints().
//
/**
* Minimum window size. This is a global setting. If you want to constraint individual windows, use SetNextWindowSizeConstraints().
*/
public native void getWindowMinSize(ImVec2 dstImVec2); /*
Jni::ImVec2Cpy(env, &ImGui::GetStyle().WindowMinSize, dstImVec2);
Jni::ImVec2Cpy(env, &IMGUI_STYLE->WindowMinSize, dstImVec2);
*/
/**
* Minimum window size. This is a global setting. If you want to constraint individual windows, use SetNextWindowSizeConstraints().
*/
public native void setWindowMinSize(float x, float y); /*
ImGui::GetStyle().WindowMinSize.x = x;
ImGui::GetStyle().WindowMinSize.y = y;
IMGUI_STYLE->WindowMinSize.x = x;
IMGUI_STYLE->WindowMinSize.y = y;
*/
// WindowTitleAlign
// Alignment for title bar text. Defaults to (0.0f,0.5f) for left-aligned,vertically centered.
//
/**
* Alignment for title bar text. Defaults to (0.0f,0.5f) for left-aligned,vertically centered.
*/
public native void getWindowTitleAlign(ImVec2 dstImVec2); /*
Jni::ImVec2Cpy(env, &ImGui::GetStyle().WindowTitleAlign, dstImVec2);
Jni::ImVec2Cpy(env, &IMGUI_STYLE->WindowTitleAlign, dstImVec2);
*/
/**
* Alignment for title bar text. Defaults to (0.0f,0.5f) for left-aligned,vertically centered.
*/
public native void setWindowTitleAlign(float x, float y); /*
ImGui::GetStyle().WindowTitleAlign.x = x;
ImGui::GetStyle().WindowTitleAlign.y = y;
IMGUI_STYLE->WindowTitleAlign.x = x;
IMGUI_STYLE->WindowTitleAlign.y = y;
*/
// WindowMenuButtonPosition
// Side of the collapsing/docking button in the title bar (None/Left/Right). Defaults to ImGuiDir_Left.
//
/**
* Side of the collapsing/docking button in the title bar (None/Left/Right). Defaults to ImGuiDir_Left.
*/
public native int getWindowMenuButtonPosition(); /*
return (int)ImGui::GetStyle().WindowMenuButtonPosition;
return (int)IMGUI_STYLE->WindowMenuButtonPosition;
*/
/**
* Side of the collapsing/docking button in the title bar (None/Left/Right). Defaults to ImGuiDir_Left.
*/
public native void setWindowMenuButtonPosition(int windowMenuButtonPosition); /*
ImGui::GetStyle().WindowMenuButtonPosition = windowMenuButtonPosition;
IMGUI_STYLE->WindowMenuButtonPosition = windowMenuButtonPosition;
*/
// ChildRounding
// Radius of child window corners rounding. Set to 0.0f to have rectangular windows.
//
/**
* Radius of child window corners rounding. Set to 0.0f to have rectangular windows.
*/
public native float getChildRounding(); /*
return ImGui::GetStyle().ChildRounding;
return IMGUI_STYLE->ChildRounding;
*/
/**
* Radius of child window corners rounding. Set to 0.0f to have rectangular windows.
*/
public native void setChildRounding(float childRounding); /*
ImGui::GetStyle().ChildRounding = childRounding;
IMGUI_STYLE->ChildRounding = childRounding;
*/
// ChildBorderSize
// Thickness of border around child windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
//
/**
* Thickness of border around child windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
*/
public native float getChildBorderSize(); /*
return ImGui::GetStyle().ChildBorderSize;
return IMGUI_STYLE->ChildBorderSize;
*/
/**
* Thickness of border around child windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
*/
public native void setChildBorderSize(float childBorderSize); /*
ImGui::GetStyle().ChildBorderSize = childBorderSize;
IMGUI_STYLE->ChildBorderSize = childBorderSize;
*/
// PopupRounding
// Radius of popup window corners rounding. (Note that tooltip windows use WindowRounding)
//
/**
* Radius of popup window corners rounding. (Note that tooltip windows use WindowRounding)
*/
public native float getPopupRounding(); /*
return ImGui::GetStyle().PopupRounding;
return IMGUI_STYLE->PopupRounding;
*/
/**
* Radius of popup window corners rounding. (Note that tooltip windows use WindowRounding)
*/
public native void setPopupRounding(float popupRounding); /*
ImGui::GetStyle().PopupRounding = popupRounding;
IMGUI_STYLE->PopupRounding = popupRounding;
*/
// PopupBorderSize
// Thickness of border around popup/tooltip windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
//
/**
* Thickness of border around popup/tooltip windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
*/
public native float getPopupBorderSize(); /*
return ImGui::GetStyle().PopupBorderSize;
return IMGUI_STYLE->PopupBorderSize;
*/
/**
* Thickness of border around popup/tooltip windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
*/
public native void setPopupBorderSize(float popupBorderSize); /*
ImGui::GetStyle().PopupBorderSize = popupBorderSize;
IMGUI_STYLE->PopupBorderSize = popupBorderSize;
*/
// FramePadding
// Padding within a framed rectangle (used by most widgets).
//
/**
* Padding within a framed rectangle (used by most widgets).
*/
public native void getFramePadding(ImVec2 dstImVec2); /*
Jni::ImVec2Cpy(env, &ImGui::GetStyle().FramePadding, dstImVec2);
Jni::ImVec2Cpy(env, &IMGUI_STYLE->FramePadding, dstImVec2);
*/
/**
* Padding within a framed rectangle (used by most widgets).
*/
public native void setFramePadding(float x, float y); /*
ImGui::GetStyle().FramePadding.x = x;
ImGui::GetStyle().FramePadding.y = y;
IMGUI_STYLE->FramePadding.x = x;
IMGUI_STYLE->FramePadding.y = y;
*/
// FrameRounding
// Radius of frame corners rounding. Set to 0.0f to have rectangular frame (used by most widgets).
//
/**
* Radius of frame corners rounding. Set to 0.0f to have rectangular frame (used by most widgets).
*/
public native float getFrameRounding(); /*
return ImGui::GetStyle().FrameRounding;
return IMGUI_STYLE->FrameRounding;
*/
/**
* Radius of frame corners rounding. Set to 0.0f to have rectangular frame (used by most widgets).
*/
public native void setFrameRounding(float frameRounding); /*
ImGui::GetStyle().FrameRounding = frameRounding;
IMGUI_STYLE->FrameRounding = frameRounding;
*/
// FrameBorderSize
// Thickness of border around frames. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
//
/**
* Thickness of border around frames. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
*/
public native float getFrameBorderSize(); /*
return ImGui::GetStyle().FrameBorderSize;
return IMGUI_STYLE->FrameBorderSize;
*/
/**
* Thickness of border around frames. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
*/
public native void setFrameBorderSize(float frameBorderSize); /*
ImGui::GetStyle().FrameBorderSize = frameBorderSize;
IMGUI_STYLE->FrameBorderSize = frameBorderSize;
*/
// ItemSpacing
// Horizontal and vertical spacing between widgets/lines.
//
/**
* Horizontal and vertical spacing between widgets/lines.
*/
public native void getItemSpacing(ImVec2 dstImVec2); /*
Jni::ImVec2Cpy(env, &ImGui::GetStyle().ItemSpacing, dstImVec2);
Jni::ImVec2Cpy(env, &IMGUI_STYLE->ItemSpacing, dstImVec2);
*/
/**
* Horizontal and vertical spacing between widgets/lines.
*/
public native void setItemSpacing(float x, float y); /*
ImGui::GetStyle().ItemSpacing.x = x;
ImGui::GetStyle().ItemSpacing.y = y;
IMGUI_STYLE->ItemSpacing.x = x;
IMGUI_STYLE->ItemSpacing.y = y;
*/
// ItemInnerSpacing
// Horizontal and vertical spacing between within elements of a composed widget (e.g. a slider and its label).
//
/**
* Horizontal and vertical spacing between within elements of a composed widget (e.g. a slider and its label).
*/
public native void getItemInnerSpacing(ImVec2 dstImVec2); /*
Jni::ImVec2Cpy(env, &ImGui::GetStyle().ItemInnerSpacing, dstImVec2);
Jni::ImVec2Cpy(env, &IMGUI_STYLE->ItemInnerSpacing, dstImVec2);
*/
/**
* Horizontal and vertical spacing between within elements of a composed widget (e.g. a slider and its label).
*/
public native void setItemInnerSpacing(float x, float y); /*
ImGui::GetStyle().ItemInnerSpacing.x = x;
ImGui::GetStyle().ItemInnerSpacing.y = y;
IMGUI_STYLE->ItemInnerSpacing.x = x;
IMGUI_STYLE->ItemInnerSpacing.y = y;
*/
// TouchExtraPadding
// Expand reactive bounding box for touch-based system where touch position is not accurate enough.
// Unfortunately we don't sort widgets so priority on overlap will always be given to the first widget. So don't grow this too much!
//
/**
* Expand reactive bounding box for touch-based system where touch position is not accurate enough.
* Unfortunately we don't sort widgets so priority on overlap will always be given to the first widget. So don't grow this too much!
*/
public native void getTouchExtraPadding(ImVec2 dstImVec2); /*
Jni::ImVec2Cpy(env, &ImGui::GetStyle().TouchExtraPadding, dstImVec2);
Jni::ImVec2Cpy(env, &IMGUI_STYLE->TouchExtraPadding, dstImVec2);
*/
/**
* Expand reactive bounding box for touch-based system where touch position is not accurate enough.
* Unfortunately we don't sort widgets so priority on overlap will always be given to the first widget. So don't grow this too much!
*/
public native void setTouchExtraPadding(float x, float y); /*
ImGui::GetStyle().TouchExtraPadding.x = x;
ImGui::GetStyle().TouchExtraPadding.y = y;
IMGUI_STYLE->TouchExtraPadding.x = x;
IMGUI_STYLE->TouchExtraPadding.y = y;
*/
// IndentSpacing
// Horizontal indentation when e.g. entering a tree node. Generally == (FontSize + FramePadding.x*2).
//
/**
* Horizontal indentation when e.g. entering a tree node. Generally == (FontSize + FramePadding.x*2).
*/
public native float getIndentSpacing(); /*
return ImGui::GetStyle().IndentSpacing;
return IMGUI_STYLE->IndentSpacing;
*/
/**
* Horizontal indentation when e.g. entering a tree node. Generally == (FontSize + FramePadding.x*2).
*/
public native void setIndentSpacing(float indentSpacing); /*
ImGui::GetStyle().IndentSpacing = indentSpacing;
IMGUI_STYLE->IndentSpacing = indentSpacing;
*/
// ColumnsMinSpacing
// Minimum horizontal spacing between two columns. Preferably > (FramePadding.x + 1).
//
/**
* Minimum horizontal spacing between two columns. Preferably > (FramePadding.x + 1).
*/
public native float getColumnsMinSpacing(); /*
return ImGui::GetStyle().ColumnsMinSpacing;
return IMGUI_STYLE->ColumnsMinSpacing;
*/
/**
* Minimum horizontal spacing between two columns. Preferably > (FramePadding.x + 1).
*/
public native void setColumnsMinSpacing(float columnsMinSpacing); /*
ImGui::GetStyle().ColumnsMinSpacing = columnsMinSpacing;
IMGUI_STYLE->ColumnsMinSpacing = columnsMinSpacing;
*/
// ScrollbarSize
// Width of the vertical scrollbar, Height of the horizontal scrollbar.
//
/**
* Width of the vertical scrollbar, Height of the horizontal scrollbar.
*/
public native float getScrollbarSize(); /*
return ImGui::GetStyle().ScrollbarSize;
return IMGUI_STYLE->ScrollbarSize;
*/
/**
* Width of the vertical scrollbar, Height of the horizontal scrollbar.
*/
public native void setScrollbarSize(float scrollbarSize); /*
ImGui::GetStyle().ScrollbarSize = scrollbarSize;
IMGUI_STYLE->ScrollbarSize = scrollbarSize;
*/
// ScrollbarRounding
// Radius of grab corners for scrollbar.
//
/**
* Radius of grab corners for scrollbar.
*/
public native float getScrollbarRounding(); /*
return ImGui::GetStyle().ScrollbarRounding;
return IMGUI_STYLE->ScrollbarRounding;
*/
/**
* Radius of grab corners for scrollbar.
*/
public native void setScrollbarRounding(float scrollbarRounding); /*
ImGui::GetStyle().ScrollbarRounding = scrollbarRounding;
IMGUI_STYLE->ScrollbarRounding = scrollbarRounding;
*/
// GrabMinSize
// Minimum width/height of a grab box for slider/scrollbar.
//
/**
* Minimum width/height of a grab box for slider/scrollbar.
*/
public native float getGrabMinSize(); /*
return ImGui::GetStyle().GrabMinSize;
return IMGUI_STYLE->GrabMinSize;
*/
/**
* Minimum width/height of a grab box for slider/scrollbar.
*/
public native void setGrabMinSize(float grabMinSize); /*
ImGui::GetStyle().GrabMinSize = grabMinSize;
IMGUI_STYLE->GrabMinSize = grabMinSize;
*/
// GrabRounding
// Radius of grabs corners rounding. Set to 0.0f to have rectangular slider grabs.
//
/**
* Radius of grabs corners rounding. Set to 0.0f to have rectangular slider grabs.
*/
public native float getGrabRounding(); /*
return ImGui::GetStyle().GrabRounding;
return IMGUI_STYLE->GrabRounding;
*/
/**
* Radius of grabs corners rounding. Set to 0.0f to have rectangular slider grabs.
*/
public native void setGrabRounding(float grabRounding); /*
ImGui::GetStyle().GrabRounding = grabRounding;
IMGUI_STYLE->GrabRounding = grabRounding;
*/
// TabRounding
// Radius of upper corners of a tab. Set to 0.0f to have rectangular tabs.
//
/**
* Radius of upper corners of a tab. Set to 0.0f to have rectangular tabs.
*/
public native float getTabRounding(); /*
return ImGui::GetStyle().TabRounding;
return IMGUI_STYLE->TabRounding;
*/
/**
* Radius of upper corners of a tab. Set to 0.0f to have rectangular tabs.
*/
public native void setTabRounding(float tabRounding); /*
ImGui::GetStyle().TabRounding = tabRounding;
IMGUI_STYLE->TabRounding = tabRounding;
*/
// TabBorderSize
// Thickness of border around tabs.
//
/**
* Thickness of border around tabs.
*/
public native float getTabBorderSize(); /*
return ImGui::GetStyle().TabBorderSize;
return IMGUI_STYLE->TabBorderSize;
*/
/**
* Thickness of border around tabs.
*/
public native void setTabBorderSize(float tabBorderSize); /*
ImGui::GetStyle().TabBorderSize = tabBorderSize;
IMGUI_STYLE->TabBorderSize = tabBorderSize;
*/
// ColorButtonPosition
// Side of the color button in the ColorEdit4 widget (left/right). Defaults to ImGuiDir_Right.
//
/**
* Side of the color button in the ColorEdit4 widget (left/right). Defaults to ImGuiDir_Right.
*/
public native int getColorButtonPosition(); /*
return ImGui::GetStyle().ColorButtonPosition;
return IMGUI_STYLE->ColorButtonPosition;
*/
/**
* Side of the color button in the ColorEdit4 widget (left/right). Defaults to ImGuiDir_Right.
*/
public native void setColorButtonPosition(int colorButtonPosition); /*
ImGui::GetStyle().ColorButtonPosition = colorButtonPosition;
IMGUI_STYLE->ColorButtonPosition = colorButtonPosition;
*/
// ButtonTextAlign
// Alignment of button text when button is larger than text. Defaults to (0.5f, 0.5f) (centered).
//
/**
* Alignment of button text when button is larger than text. Defaults to (0.5f, 0.5f) (centered).
*/
public native void getButtonTextAlign(ImVec2 dstImVec2); /*
Jni::ImVec2Cpy(env, &ImGui::GetStyle().ButtonTextAlign, dstImVec2);
Jni::ImVec2Cpy(env, &IMGUI_STYLE->ButtonTextAlign, dstImVec2);
*/
/**
* Alignment of button text when button is larger than text. Defaults to (0.5f, 0.5f) (centered).
*/
public native void setButtonTextAlign(float x, float y); /*
ImGui::GetStyle().ButtonTextAlign.x = x;
ImGui::GetStyle().ButtonTextAlign.y = y;
IMGUI_STYLE->ButtonTextAlign.x = x;
IMGUI_STYLE->ButtonTextAlign.y = y;
*/
// SelectableTextAlign
// Alignment of selectable text when selectable is larger than text. Defaults to (0.0f, 0.0f) (top-left aligned).
//
/**
* Alignment of selectable text when selectable is larger than text. Defaults to (0.0f, 0.0f) (top-left aligned).
*/
public native void getSelectableTextAlign(ImVec2 dstImVec2); /*
Jni::ImVec2Cpy(env, &ImGui::GetStyle().SelectableTextAlign, dstImVec2);
Jni::ImVec2Cpy(env, &IMGUI_STYLE->SelectableTextAlign, dstImVec2);
*/
/**
* Alignment of selectable text when selectable is larger than text. Defaults to (0.0f, 0.0f) (top-left aligned).
*/
public native void setSelectableTextAlign(float x, float y); /*
ImGui::GetStyle().SelectableTextAlign.x = x;
ImGui::GetStyle().SelectableTextAlign.y = y;
IMGUI_STYLE->SelectableTextAlign.x = x;
IMGUI_STYLE->SelectableTextAlign.y = y;
*/
// DisplayWindowPadding
// Window position are clamped to be visible within the display area by at least this amount. Only applies to regular windows.
//
/**
* Window position are clamped to be visible within the display area by at least this amount. Only applies to regular windows.
*/
public native void getDisplayWindowPadding(ImVec2 dstImVec2); /*
Jni::ImVec2Cpy(env, &ImGui::GetStyle().DisplayWindowPadding, dstImVec2);
Jni::ImVec2Cpy(env, &IMGUI_STYLE->DisplayWindowPadding, dstImVec2);
*/
/**
* Window position are clamped to be visible within the display area by at least this amount. Only applies to regular windows.
*/
public native void setDisplayWindowPadding(float x, float y); /*
ImGui::GetStyle().DisplayWindowPadding.x = x;
ImGui::GetStyle().DisplayWindowPadding.y = y;
IMGUI_STYLE->DisplayWindowPadding.x = x;
IMGUI_STYLE->DisplayWindowPadding.y = y;
*/
// DisplaySafeAreaPadding
// If you cannot see the edges of your screen (e.g. on a TV) increase the safe area padding.
// Apply to popups/tooltips as well regular windows. NB: Prefer configuring your TV sets correctly!
//
/**
* If you cannot see the edges of your screen (e.g. on a TV) increase the safe area padding.
* Apply to popups/tooltips as well regular windows. NB: Prefer configuring your TV sets correctly!
*/
public native void getDisplaySafeAreaPadding(ImVec2 dstImVec2); /*
Jni::ImVec2Cpy(env, &ImGui::GetStyle().DisplaySafeAreaPadding, dstImVec2);
Jni::ImVec2Cpy(env, &IMGUI_STYLE->DisplaySafeAreaPadding, dstImVec2);
*/
/**
* If you cannot see the edges of your screen (e.g. on a TV) increase the safe area padding.
* Apply to popups/tooltips as well regular windows. NB: Prefer configuring your TV sets correctly!
*/
public native void setDisplaySafeAreaPadding(float x, float y); /*
ImGui::GetStyle().DisplaySafeAreaPadding.x = x;
ImGui::GetStyle().DisplaySafeAreaPadding.y = y;
IMGUI_STYLE->DisplaySafeAreaPadding.x = x;
IMGUI_STYLE->DisplaySafeAreaPadding.y = y;
*/
// MouseCursorScale
// Scale software rendered mouse cursor (when io.MouseDrawCursor is enabled). May be removed later.
//
/**
* Scale software rendered mouse cursor (when io.MouseDrawCursor is enabled). May be removed later.
*/
public native float getMouseCursorScale(); /*
return ImGui::GetStyle().MouseCursorScale;
return IMGUI_STYLE->MouseCursorScale;
*/
/**
* Scale software rendered mouse cursor (when io.MouseDrawCursor is enabled). May be removed later.
*/
public native void setMouseCursorScale(float mouseCursorScale); /*
ImGui::GetStyle().MouseCursorScale = mouseCursorScale;
IMGUI_STYLE->MouseCursorScale = mouseCursorScale;
*/
// AntiAliasedLines
// Enable anti-aliasing on lines/borders. Disable if you are really tight on CPU/GPU.
//
/**
* Enable anti-aliasing on lines/borders. Disable if you are really tight on CPU/GPU.
*/
public native boolean getAntiAliasedLines(); /*
return ImGui::GetStyle().AntiAliasedLines;
return IMGUI_STYLE->AntiAliasedLines;
*/
/**
* Enable anti-aliasing on lines/borders. Disable if you are really tight on CPU/GPU.
*/
public native void setAntiAliasedLines(boolean antiAliasedLines); /*
ImGui::GetStyle().AntiAliasedLines = antiAliasedLines;
IMGUI_STYLE->AntiAliasedLines = antiAliasedLines;
*/
// AntiAliasedFill
// Enable anti-aliasing on filled shapes (rounded rectangles, circles, etc.)
//
/**
* Enable anti-aliasing on filled shapes (rounded rectangles, circles, etc.)
*/
public native boolean getAntiAliasedFill(); /*
return ImGui::GetStyle().AntiAliasedFill;
return IMGUI_STYLE->AntiAliasedFill;
*/
/**
* Enable anti-aliasing on filled shapes (rounded rectangles, circles, etc.)
*/
public native void setAntiAliasedFill(boolean antiAliasedFill); /*
ImGui::GetStyle().AntiAliasedFill = antiAliasedFill;
IMGUI_STYLE->AntiAliasedFill = antiAliasedFill;
*/
// CurveTessellationTol
// Tessellation tolerance when using PathBezierCurveTo() without a specific number of segments.
// Decrease for highly tessellated curves (higher quality, more polygons), increase to reduce quality.
//
/**
* Tessellation tolerance when using PathBezierCurveTo() without a specific number of segments.
* Decrease for highly tessellated curves (higher quality, more polygons), increase to reduce quality.
*/
public native float getCurveTessellationTol(); /*
return ImGui::GetStyle().CurveTessellationTol;
return IMGUI_STYLE->CurveTessellationTol;
*/
/**
* Tessellation tolerance when using PathBezierCurveTo() without a specific number of segments.
* Decrease for highly tessellated curves (higher quality, more polygons), increase to reduce quality.
*/
public native void setCurveTessellationTol(float curveTessellationTol); /*
ImGui::GetStyle().CurveTessellationTol = curveTessellationTol;
IMGUI_STYLE->CurveTessellationTol = curveTessellationTol;
*/
/**
@@ -411,7 +548,7 @@ public final class ImGuiStyle {
* Decrease for higher quality but more geometry.
*/
public native float getCircleSegmentMaxError(); /*
return ImGui::GetStyle().CircleSegmentMaxError;
return IMGUI_STYLE->CircleSegmentMaxError;
*/
/**
@@ -419,7 +556,7 @@ public final class ImGuiStyle {
* Decrease for higher quality but more geometry.
*/
public native void setCircleSegmentMaxError(float circleSegmentMaxError); /*
ImGui::GetStyle().CircleSegmentMaxError = circleSegmentMaxError;
IMGUI_STYLE->CircleSegmentMaxError = circleSegmentMaxError;
*/
/**
@@ -430,10 +567,10 @@ public final class ImGuiStyle {
jfloatArray jColors = (jfloatArray)env->GetObjectArrayElement(buff, i);
jfloat* jBuffColor = env->GetFloatArrayElements(jColors, 0);
jBuffColor[0] = ImGui::GetStyle().Colors[i].x;
jBuffColor[1] = ImGui::GetStyle().Colors[i].y;
jBuffColor[2] = ImGui::GetStyle().Colors[i].z;
jBuffColor[3] = ImGui::GetStyle().Colors[i].w;
jBuffColor[0] = IMGUI_STYLE->Colors[i].x;
jBuffColor[1] = IMGUI_STYLE->Colors[i].y;
jBuffColor[2] = IMGUI_STYLE->Colors[i].z;
jBuffColor[3] = IMGUI_STYLE->Colors[i].w;
env->ReleaseFloatArrayElements(jColors, jBuffColor, 0);
env->DeleteLocalRef(jColors);
@@ -448,25 +585,25 @@ public final class ImGuiStyle {
jfloatArray jColors = (jfloatArray)env->GetObjectArrayElement(colors, i);
jfloat* jColor = env->GetFloatArrayElements(jColors, 0);
ImGui::GetStyle().Colors[i].x = jColor[0];
ImGui::GetStyle().Colors[i].y = jColor[1];
ImGui::GetStyle().Colors[i].z = jColor[2];
ImGui::GetStyle().Colors[i].w = jColor[3];
IMGUI_STYLE->Colors[i].x = jColor[0];
IMGUI_STYLE->Colors[i].y = jColor[1];
IMGUI_STYLE->Colors[i].z = jColor[2];
IMGUI_STYLE->Colors[i].w = jColor[3];
env->ReleaseFloatArrayElements(jColors, jColor, 0);
env->DeleteLocalRef(jColors);
}
*/
public native void scaleAllSizes(float scaleFactor); /*
ImGui::GetStyle().ScaleAllSizes(scaleFactor);
*/
public native void getColor(int imGuiCol, ImVec4 dstImVec4); /*
Jni::ImVec4Cpy(env, ImGui::GetStyle().Colors[imGuiCol], dstImVec4);
Jni::ImVec4Cpy(env, IMGUI_STYLE->Colors[imGuiCol], dstImVec4);
*/
public native void setColor(int imGuiCol, float r, float g, float b, float a); /*
ImGui::GetStyle().Colors[imGuiCol] = ImVec4(r, g, b, a);
IMGUI_STYLE->Colors[imGuiCol] = ImVec4(r, g, b, a);
*/
public native void scaleAllSizes(float scaleFactor); /*
IMGUI_STYLE->ScaleAllSizes(scaleFactor);
*/
}