[API] Memory editor extension (#110)
* Working on memory editor bindings for SpaiR/imgui-java#109 * Initial working implementation * Add mising entry for imgui_club in .gitmodules * Sorry, fixing readme link type and description for memory editor. * Rename .club package to .memedit * Rename _club.h to _memedit.h
This commit is contained in:
1 parent
9a5a1d2757
commit
fefac80157
9 files changed
+251
-1
No files matched your search
@@ -0,0 +1,77 @@
|
||||
package imgui.extension.memedit;
|
||||
|
||||
import imgui.binding.ImGuiStructDestroyable;
|
||||
|
||||
/**
|
||||
* ImGui Club Memory Editor extension for ImGui
|
||||
* Repo: https://github.com/ocornut/imgui_club
|
||||
*/
|
||||
public final class MemoryEditor extends ImGuiStructDestroyable {
|
||||
|
||||
/*JNI
|
||||
#include "_memedit.h"
|
||||
|
||||
#define MEMORY_EDITOR ((MemoryEditor*)STRUCT_PTR)
|
||||
*/
|
||||
|
||||
public MemoryEditor() {
|
||||
|
||||
}
|
||||
|
||||
public MemoryEditor(final long ptr) {
|
||||
super(ptr);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected long create() {
|
||||
return nCreate();
|
||||
}
|
||||
|
||||
private native long nCreate(); /*
|
||||
return (intptr_t)(new MemoryEditor());
|
||||
*/
|
||||
|
||||
public native void gotoAddrAndHighlight(long addrMin, long addrMax); /*
|
||||
MEMORY_EDITOR->GotoAddrAndHighlight(addrMin, addrMax);
|
||||
*/
|
||||
|
||||
public void calcSizes(final MemoryEditorSizes s, final long memSize, final long baseDisplayAddr) {
|
||||
nCalcSizes(s.ptr, memSize, baseDisplayAddr);
|
||||
}
|
||||
|
||||
public native void nCalcSizes(long ptr, long memSize, long baseDisplayAddr); /*
|
||||
MEMORY_EDITOR->CalcSizes(*((MemoryEditor::Sizes*)ptr), static_cast<size_t>(memSize), static_cast<size_t>(baseDisplayAddr));
|
||||
*/
|
||||
|
||||
public void drawWindow(final String title, final long memData, final long memSize) {
|
||||
drawWindow(title, memData, memSize, 0x000);
|
||||
}
|
||||
|
||||
public native void drawWindow(String title, long memData, long memSize, long baseDisplayAddr); /*
|
||||
MEMORY_EDITOR->DrawWindow(title, reinterpret_cast<void*>(memData), static_cast<size_t>(memSize), static_cast<size_t>(baseDisplayAddr));
|
||||
*/
|
||||
|
||||
public void drawContents(final long memData, final long memSize) {
|
||||
drawContents(memData, memSize, 0x0000);
|
||||
}
|
||||
|
||||
public native void drawContents(long memData, long memSize, long baseDisplayAddr); /*
|
||||
MEMORY_EDITOR->DrawContents(reinterpret_cast<void*>(memData), static_cast<size_t>(memSize), static_cast<size_t>(baseDisplayAddr));
|
||||
*/
|
||||
|
||||
public void drawOptionsLine(final MemoryEditorSizes s, final long memData, final long memSize, final long baseDisplayAddr) {
|
||||
nDrawOptionsLine(s.ptr, memData, memSize, baseDisplayAddr);
|
||||
}
|
||||
|
||||
public native void nDrawOptionsLine(long ptr, long memData, long memSize, long baseDisplayAddr); /*
|
||||
MEMORY_EDITOR->DrawOptionsLine(*((MemoryEditor::Sizes*)ptr), reinterpret_cast<void*>(memData), static_cast<size_t>(memSize), static_cast<size_t>(baseDisplayAddr));
|
||||
*/
|
||||
|
||||
public void drawPreviewLine(final MemoryEditorSizes s, final long memDataVoid, final long memSize, final long baseDisplayAddr) {
|
||||
nDrawPreviewLine(s.ptr, memDataVoid, memSize, baseDisplayAddr);
|
||||
}
|
||||
|
||||
public native void nDrawPreviewLine(long ptr, long memDataVoid, long memSize, long baseDisplayAddr); /*
|
||||
MEMORY_EDITOR->DrawPreviewLine(*((MemoryEditor::Sizes*)ptr), reinterpret_cast<void*>(memDataVoid), static_cast<size_t>(memSize), static_cast<size_t>(baseDisplayAddr));
|
||||
*/
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
package imgui.extension.memedit;
|
||||
|
||||
import imgui.binding.ImGuiStructDestroyable;
|
||||
|
||||
public final class MemoryEditorSizes extends ImGuiStructDestroyable {
|
||||
|
||||
/*JNI
|
||||
#include "_memedit.h"
|
||||
|
||||
#define MEMORY_EDITOR_SIZES ((MemoryEditor::Sizes*)STRUCT_PTR)
|
||||
*/
|
||||
|
||||
public MemoryEditorSizes() {
|
||||
|
||||
}
|
||||
|
||||
public MemoryEditorSizes(final long ptr) {
|
||||
super(ptr);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected long create() {
|
||||
return nCreate();
|
||||
}
|
||||
|
||||
private native long nCreate(); /*
|
||||
return (intptr_t)(new MemoryEditor::Sizes());
|
||||
*/
|
||||
|
||||
public native void setAddrDigitsCount(int addrDigitsCount); /*
|
||||
MEMORY_EDITOR_SIZES->AddrDigitsCount = addrDigitsCount;
|
||||
*/
|
||||
|
||||
public native int getAddrDigitsCount(); /*
|
||||
return MEMORY_EDITOR_SIZES->AddrDigitsCount;
|
||||
*/
|
||||
|
||||
public native void setLineHeight(float lineHeight); /*
|
||||
MEMORY_EDITOR_SIZES->LineHeight = lineHeight;
|
||||
*/
|
||||
|
||||
public native float getLineHeight(); /*
|
||||
return MEMORY_EDITOR_SIZES->LineHeight;
|
||||
*/
|
||||
|
||||
public native void setGlyphWidth(float glyphWidth); /*
|
||||
MEMORY_EDITOR_SIZES->GlyphWidth = glyphWidth;
|
||||
*/
|
||||
|
||||
public native float getGlyphWidth(); /*
|
||||
return MEMORY_EDITOR_SIZES->GlyphWidth;
|
||||
*/
|
||||
|
||||
public native void setHexCellWidth(float hexCellWidth); /*
|
||||
MEMORY_EDITOR_SIZES->HexCellWidth = hexCellWidth;
|
||||
*/
|
||||
|
||||
public native float getHexCellWidth(); /*
|
||||
return MEMORY_EDITOR_SIZES->HexCellWidth;
|
||||
*/
|
||||
|
||||
public native void setSpacingBetweenMidCols(float spacingBetweenMidCols); /*
|
||||
MEMORY_EDITOR_SIZES->SpacingBetweenMidCols = spacingBetweenMidCols;
|
||||
*/
|
||||
|
||||
public native float getSpacingBetweenMidCols(); /*
|
||||
return MEMORY_EDITOR_SIZES->SpacingBetweenMidCols;
|
||||
*/
|
||||
|
||||
public native void setPosHexStart(float posHexStart); /*
|
||||
MEMORY_EDITOR_SIZES->PosHexStart = posHexStart;
|
||||
*/
|
||||
|
||||
public native float getPosHexStart(); /*
|
||||
return MEMORY_EDITOR_SIZES->PosHexStart;
|
||||
*/
|
||||
|
||||
public native void setPosHexEnd(float posHexEnd); /*
|
||||
MEMORY_EDITOR_SIZES->PosHexEnd = posHexEnd;
|
||||
*/
|
||||
|
||||
public native float getPosHexEnd(); /*
|
||||
return MEMORY_EDITOR_SIZES->PosHexEnd;
|
||||
*/
|
||||
|
||||
public native void setPosAsciiStart(float posAsciiStart); /*
|
||||
MEMORY_EDITOR_SIZES->PosAsciiStart = posAsciiStart;
|
||||
*/
|
||||
|
||||
public native float getPosAsciiStart(); /*
|
||||
return MEMORY_EDITOR_SIZES->PosAsciiStart;
|
||||
*/
|
||||
|
||||
public native void setPosAsciiEnd(float posAsciiEnd); /*
|
||||
MEMORY_EDITOR_SIZES->PosAsciiEnd = posAsciiEnd;
|
||||
*/
|
||||
|
||||
public native float getPosAsciiEnd(); /*
|
||||
return MEMORY_EDITOR_SIZES->PosAsciiEnd;
|
||||
*/
|
||||
|
||||
public native void setWindowWidth(float windowWidth); /*
|
||||
MEMORY_EDITOR_SIZES->WindowWidth = windowWidth;
|
||||
*/
|
||||
|
||||
public native float getWindowWidth(); /*
|
||||
return MEMORY_EDITOR_SIZES->WindowWidth;
|
||||
*/
|
||||
}
|
||||
Reference in new issue
Block a user