This commit is contained in:
Nishi 2026-09-27 07:21:54 +09:00
commit d7f1c66779
17 changed files with 118 additions and 65 deletions

View file

@ -76,10 +76,10 @@ static std::string get_type(typeinfo type) {
if(type.type == "integer") { if(type.type == "integer") {
return "Integer"; return "Integer";
} else if(type.type == "string") { } else if(type.type == "string") {
return "Text"; return "String";
} }
return "Void"; return "Pointer";
} }
static std::string uppercase(std::string str) { static std::string uppercase(std::string str) {
@ -184,7 +184,7 @@ static std::string widget_property_source(std::string widget, std::string name)
if(props[name].type.type == "string") { if(props[name].type.type == "string") {
strm << "#ifndef MWCXX_USE_C_STRING" << std::endl; strm << "#ifndef MWCXX_USE_C_STRING" << std::endl;
strm << " MwSetText(this->widget, MwN" + name + ", value.c_str());" << std::endl; strm << " MwSetString(this->widget, MwN" + name + ", value.c_str());" << std::endl;
strm << "#else" << std::endl; strm << "#else" << std::endl;
} }
@ -912,7 +912,7 @@ int main(int argc, char** argv) {
name = xl_get_attribute(child, "name"); name = xl_get_attribute(child, "name");
if(name == "OpenGL" || name == "Vulkan") continue; if(name == "OpenGL" || name == "Vulkan" || name == "Direct3D9") continue;
OFS << "#include <MwCXX/Widget/" + name + ".h>" << std::endl; OFS << "#include <MwCXX/Widget/" + name + ".h>" << std::endl;
} }
} }

View file

@ -0,0 +1,23 @@
#ifndef __MWCXX_WIDGET_DIRECT3D9_H__
#define __MWCXX_WIDGET_DIRECT3D9_H__
#include <MwCXX/MachDep.h>
#include <MwCXX/Widget/Base.h>
#include <Mw/Widget/Direct3D9.h>
namespace MwCXX {
class Direct3D9 : public MwCXX::Base {
protected:
virtual void RegisterHandlers();
public:
Direct3D9(MwWidget widget, MwCXX::Base* parent = NULL);
Direct3D9(MwCXX::String name, MwCXX::Base* parent, int x, int y, unsigned int width, unsigned int height);
void* GetDirect3D9();
void* GetDirect3DDevice9();
};
}; // namespace MwCXX
#endif

View file

@ -18,10 +18,10 @@ namespace MwCXX {
MwCXX::String GetText(); MwCXX::String GetText();
void SetText(MwCXX::String value); void SetText(MwCXX::String value);
virtual void OnLayout(int value) {}; virtual void OnLayout(MwRect value) {};
virtual void OnDocumentActivate(MwCXX::String value) {}; virtual void OnDocumentActivate(MwCXX::String value) {};
void (*LayoutHandler)(MwCXX::Document* widget, int value); void (*LayoutHandler)(MwCXX::Document* widget, MwRect value);
void (*DocumentActivateHandler)(MwCXX::Document* widget, MwCXX::String value); void (*DocumentActivateHandler)(MwCXX::Document* widget, MwCXX::String value);
}; };
}; // namespace MwCXX }; // namespace MwCXX

View file

@ -15,7 +15,7 @@ namespace MwCXX {
Vulkan(MwWidget widget, MwCXX::Base* parent = NULL); Vulkan(MwWidget widget, MwCXX::Base* parent = NULL);
Vulkan(MwCXX::String name, MwCXX::Base* parent, int x, int y, unsigned int width, unsigned int height); Vulkan(MwCXX::String name, MwCXX::Base* parent, int x, int y, unsigned int width, unsigned int height);
void* GetField(int field, int* output); void* GetField();
}; };
}; // namespace MwCXX }; // namespace MwCXX

View file

@ -1 +1 @@
OBJS += src/dialog/colorpicker.o src/dialog/filechooser.o src/dialog/directorychooser.o src/dialog/messagebox.o src/widget/baseauto.o src/widget/box.o src/widget/button.o src/widget/calendar.o src/widget/chart.o src/widget/checkbox.o src/widget/clock.o src/widget/document.o src/widget/entry.o src/widget/frame.o src/widget/image.o src/widget/label.o src/widget/listbox.o src/widget/menu.o src/widget/numberentry.o src/widget/scrollbar.o src/widget/submenu.o src/widget/viewport.o src/widget/window.o src/widget/progressbar.o src/widget/radiobox.o src/widget/combobox.o src/widget/treeview.o src/widget/subwindow.o src/widget/table.o src/widget/tab.o src/widget/opengl.o src/widget/vulkan.o OBJS += src/dialog/colorpicker.o src/dialog/filechooser.o src/dialog/directorychooser.o src/dialog/messagebox.o src/widget/baseauto.o src/widget/box.o src/widget/button.o src/widget/calendar.o src/widget/chart.o src/widget/checkbox.o src/widget/clock.o src/widget/document.o src/widget/entry.o src/widget/frame.o src/widget/image.o src/widget/label.o src/widget/listbox.o src/widget/menu.o src/widget/numberentry.o src/widget/scrollbar.o src/widget/submenu.o src/widget/viewport.o src/widget/window.o src/widget/progressbar.o src/widget/radiobox.o src/widget/combobox.o src/widget/treeview.o src/widget/subwindow.o src/widget/table.o src/widget/tab.o src/widget/opengl.o src/widget/vulkan.o src/widget/direct3d9.o

View file

@ -1,22 +1,22 @@
#include <MwCXX/Widget/Base.h> #include <MwCXX/Widget/Base.h>
MwCXX::String MwCXX::Base::GetBackground() { MwCXX::String MwCXX::Base::GetBackground() {
return (MwCXX::String)MwGetText(this->widget, MwNbackground); return (MwCXX::String)MwGetString(this->widget, MwNbackground);
} }
void MwCXX::Base::SetBackground(MwCXX::String value) { void MwCXX::Base::SetBackground(MwCXX::String value) {
#ifndef MWCXX_USE_C_STRING #ifndef MWCXX_USE_C_STRING
MwSetText(this->widget, MwNbackground, value.c_str()); MwSetString(this->widget, MwNbackground, value.c_str());
#else #else
MwSetText(this->widget, MwNbackground, (MwCXX::String)value); MwSetString(this->widget, MwNbackground, (MwCXX::String)value);
#endif #endif
} }
MwLLPixmap MwCXX::Base::GetBackgroundPixmap() { MwLLPixmap MwCXX::Base::GetBackgroundPixmap() {
return (MwLLPixmap)MwGetVoid(this->widget, MwNbackgroundPixmap); return (MwLLPixmap)MwGetPointer(this->widget, MwNbackgroundPixmap);
} }
void MwCXX::Base::SetBackgroundPixmap(MwLLPixmap value) { void MwCXX::Base::SetBackgroundPixmap(MwLLPixmap value) {
MwSetVoid(this->widget, MwNbackgroundPixmap, (MwLLPixmap)value); MwSetPointer(this->widget, MwNbackgroundPixmap, (MwLLPixmap)value);
} }
int MwCXX::Base::GetBitmapFont() { int MwCXX::Base::GetBitmapFont() {
@ -68,14 +68,14 @@ void MwCXX::Base::SetForceInverted(int value) {
} }
MwCXX::String MwCXX::Base::GetForeground() { MwCXX::String MwCXX::Base::GetForeground() {
return (MwCXX::String)MwGetText(this->widget, MwNforeground); return (MwCXX::String)MwGetString(this->widget, MwNforeground);
} }
void MwCXX::Base::SetForeground(MwCXX::String value) { void MwCXX::Base::SetForeground(MwCXX::String value) {
#ifndef MWCXX_USE_C_STRING #ifndef MWCXX_USE_C_STRING
MwSetText(this->widget, MwNforeground, value.c_str()); MwSetString(this->widget, MwNforeground, value.c_str());
#else #else
MwSetText(this->widget, MwNforeground, (MwCXX::String)value); MwSetString(this->widget, MwNforeground, (MwCXX::String)value);
#endif #endif
} }
@ -112,50 +112,50 @@ void MwCXX::Base::SetRatio(int value) {
} }
MwCXX::String MwCXX::Base::GetSubBackground() { MwCXX::String MwCXX::Base::GetSubBackground() {
return (MwCXX::String)MwGetText(this->widget, MwNsubBackground); return (MwCXX::String)MwGetString(this->widget, MwNsubBackground);
} }
void MwCXX::Base::SetSubBackground(MwCXX::String value) { void MwCXX::Base::SetSubBackground(MwCXX::String value) {
#ifndef MWCXX_USE_C_STRING #ifndef MWCXX_USE_C_STRING
MwSetText(this->widget, MwNsubBackground, value.c_str()); MwSetString(this->widget, MwNsubBackground, value.c_str());
#else #else
MwSetText(this->widget, MwNsubBackground, (MwCXX::String)value); MwSetString(this->widget, MwNsubBackground, (MwCXX::String)value);
#endif #endif
} }
MwCXX::String MwCXX::Base::GetSubForeground() { MwCXX::String MwCXX::Base::GetSubForeground() {
return (MwCXX::String)MwGetText(this->widget, MwNsubForeground); return (MwCXX::String)MwGetString(this->widget, MwNsubForeground);
} }
void MwCXX::Base::SetSubForeground(MwCXX::String value) { void MwCXX::Base::SetSubForeground(MwCXX::String value) {
#ifndef MWCXX_USE_C_STRING #ifndef MWCXX_USE_C_STRING
MwSetText(this->widget, MwNsubForeground, value.c_str()); MwSetString(this->widget, MwNsubForeground, value.c_str());
#else #else
MwSetText(this->widget, MwNsubForeground, (MwCXX::String)value); MwSetString(this->widget, MwNsubForeground, (MwCXX::String)value);
#endif #endif
} }
MwCXX::String MwCXX::Base::GetTitleBackground() { MwCXX::String MwCXX::Base::GetTitleBackground() {
return (MwCXX::String)MwGetText(this->widget, MwNtitleBackground); return (MwCXX::String)MwGetString(this->widget, MwNtitleBackground);
} }
void MwCXX::Base::SetTitleBackground(MwCXX::String value) { void MwCXX::Base::SetTitleBackground(MwCXX::String value) {
#ifndef MWCXX_USE_C_STRING #ifndef MWCXX_USE_C_STRING
MwSetText(this->widget, MwNtitleBackground, value.c_str()); MwSetString(this->widget, MwNtitleBackground, value.c_str());
#else #else
MwSetText(this->widget, MwNtitleBackground, (MwCXX::String)value); MwSetString(this->widget, MwNtitleBackground, (MwCXX::String)value);
#endif #endif
} }
MwCXX::String MwCXX::Base::GetTitleForeground() { MwCXX::String MwCXX::Base::GetTitleForeground() {
return (MwCXX::String)MwGetText(this->widget, MwNtitleForeground); return (MwCXX::String)MwGetString(this->widget, MwNtitleForeground);
} }
void MwCXX::Base::SetTitleForeground(MwCXX::String value) { void MwCXX::Base::SetTitleForeground(MwCXX::String value) {
#ifndef MWCXX_USE_C_STRING #ifndef MWCXX_USE_C_STRING
MwSetText(this->widget, MwNtitleForeground, value.c_str()); MwSetString(this->widget, MwNtitleForeground, value.c_str());
#else #else
MwSetText(this->widget, MwNtitleForeground, (MwCXX::String)value); MwSetString(this->widget, MwNtitleForeground, (MwCXX::String)value);
#endif #endif
} }

View file

@ -11,22 +11,22 @@ MwCXX::Button::Button(MwCXX::String name, MwCXX::Base* parent, int x, int y, uns
} }
MwLLPixmap MwCXX::Button::GetPixmap() { MwLLPixmap MwCXX::Button::GetPixmap() {
return (MwLLPixmap)MwGetVoid(this->widget, MwNpixmap); return (MwLLPixmap)MwGetPointer(this->widget, MwNpixmap);
} }
void MwCXX::Button::SetPixmap(MwLLPixmap value) { void MwCXX::Button::SetPixmap(MwLLPixmap value) {
MwSetVoid(this->widget, MwNpixmap, (MwLLPixmap)value); MwSetPointer(this->widget, MwNpixmap, (MwLLPixmap)value);
} }
MwCXX::String MwCXX::Button::GetText() { MwCXX::String MwCXX::Button::GetText() {
return (MwCXX::String)MwGetText(this->widget, MwNtext); return (MwCXX::String)MwGetString(this->widget, MwNtext);
} }
void MwCXX::Button::SetText(MwCXX::String value) { void MwCXX::Button::SetText(MwCXX::String value) {
#ifndef MWCXX_USE_C_STRING #ifndef MWCXX_USE_C_STRING
MwSetText(this->widget, MwNtext, value.c_str()); MwSetString(this->widget, MwNtext, value.c_str());
#else #else
MwSetText(this->widget, MwNtext, (MwCXX::String)value); MwSetString(this->widget, MwNtext, (MwCXX::String)value);
#endif #endif
} }

30
src/widget/direct3d9.cc Normal file
View file

@ -0,0 +1,30 @@
#include <MwCXX/Widget/Direct3D9.h>
MwCXX::Direct3D9::Direct3D9(MwWidget widget, MwCXX::Base* parent)
: MwCXX::Base(widget, parent) {
this->RegisterHandlers();
}
MwCXX::Direct3D9::Direct3D9(MwCXX::String name, MwCXX::Base* parent, int x, int y, unsigned int width, unsigned int height)
: MwCXX::Base(MwDirect3D9Class, name, parent, x, y, width, height) {
this->RegisterHandlers();
}
void MwCXX::Direct3D9::RegisterHandlers() {
}
void* MwCXX::Direct3D9::GetDirect3D9() {
void* out;
MwVaWidgetExecute(this->widget, "mwDirect3D9GetDirect3D9", &out);
return out;
}
void* MwCXX::Direct3D9::GetDirect3DDevice9() {
void* out;
MwVaWidgetExecute(this->widget, "mwDirect3D9GetDirect3DDevice9", &out);
return out;
}

View file

@ -11,20 +11,20 @@ MwCXX::Document::Document(MwCXX::String name, MwCXX::Base* parent, int x, int y,
} }
MwCXX::String MwCXX::Document::GetText() { MwCXX::String MwCXX::Document::GetText() {
return (MwCXX::String)MwGetText(this->widget, MwNtext); return (MwCXX::String)MwGetString(this->widget, MwNtext);
} }
void MwCXX::Document::SetText(MwCXX::String value) { void MwCXX::Document::SetText(MwCXX::String value) {
#ifndef MWCXX_USE_C_STRING #ifndef MWCXX_USE_C_STRING
MwSetText(this->widget, MwNtext, value.c_str()); MwSetString(this->widget, MwNtext, value.c_str());
#else #else
MwSetText(this->widget, MwNtext, (MwCXX::String)value); MwSetString(this->widget, MwNtext, (MwCXX::String)value);
#endif #endif
} }
static void __OnLayout(MwWidget handle, void* user, void* call) { static void __OnLayout(MwWidget handle, void* user, void* call) {
((MwCXX::Document*)user)->OnLayout(*(int*)call); ((MwCXX::Document*)user)->OnLayout(*(MwRect*)call);
if(((MwCXX::Document*)user)->LayoutHandler != NULL) ((MwCXX::Document*)user)->LayoutHandler((MwCXX::Document*)user, *(int*)call); if(((MwCXX::Document*)user)->LayoutHandler != NULL) ((MwCXX::Document*)user)->LayoutHandler((MwCXX::Document*)user, *(MwRect*)call);
} }
static void __OnDocumentActivate(MwWidget handle, void* user, void* call) { static void __OnDocumentActivate(MwWidget handle, void* user, void* call) {

View file

@ -11,14 +11,14 @@ MwCXX::Entry::Entry(MwCXX::String name, MwCXX::Base* parent, int x, int y, unsig
} }
MwCXX::String MwCXX::Entry::GetText() { MwCXX::String MwCXX::Entry::GetText() {
return (MwCXX::String)MwGetText(this->widget, MwNtext); return (MwCXX::String)MwGetString(this->widget, MwNtext);
} }
void MwCXX::Entry::SetText(MwCXX::String value) { void MwCXX::Entry::SetText(MwCXX::String value) {
#ifndef MWCXX_USE_C_STRING #ifndef MWCXX_USE_C_STRING
MwSetText(this->widget, MwNtext, value.c_str()); MwSetString(this->widget, MwNtext, value.c_str());
#else #else
MwSetText(this->widget, MwNtext, (MwCXX::String)value); MwSetString(this->widget, MwNtext, (MwCXX::String)value);
#endif #endif
} }

View file

@ -27,11 +27,11 @@ void MwCXX::Frame::SetInverted(int value) {
} }
MwLLPixmap MwCXX::Frame::GetIconPixmap() { MwLLPixmap MwCXX::Frame::GetIconPixmap() {
return (MwLLPixmap)MwGetVoid(this->widget, MwNiconPixmap); return (MwLLPixmap)MwGetPointer(this->widget, MwNiconPixmap);
} }
void MwCXX::Frame::SetIconPixmap(MwLLPixmap value) { void MwCXX::Frame::SetIconPixmap(MwLLPixmap value) {
MwSetVoid(this->widget, MwNiconPixmap, (MwLLPixmap)value); MwSetPointer(this->widget, MwNiconPixmap, (MwLLPixmap)value);
} }
void MwCXX::Frame::RegisterHandlers() { void MwCXX::Frame::RegisterHandlers() {

View file

@ -11,11 +11,11 @@ MwCXX::Image::Image(MwCXX::String name, MwCXX::Base* parent, int x, int y, unsig
} }
MwLLPixmap MwCXX::Image::GetPixmap() { MwLLPixmap MwCXX::Image::GetPixmap() {
return (MwLLPixmap)MwGetVoid(this->widget, MwNpixmap); return (MwLLPixmap)MwGetPointer(this->widget, MwNpixmap);
} }
void MwCXX::Image::SetPixmap(MwLLPixmap value) { void MwCXX::Image::SetPixmap(MwLLPixmap value) {
MwSetVoid(this->widget, MwNpixmap, (MwLLPixmap)value); MwSetPointer(this->widget, MwNpixmap, (MwLLPixmap)value);
} }
int MwCXX::Image::GetHasBorder() { int MwCXX::Image::GetHasBorder() {

View file

@ -11,14 +11,14 @@ MwCXX::Label::Label(MwCXX::String name, MwCXX::Base* parent, int x, int y, unsig
} }
MwCXX::String MwCXX::Label::GetText() { MwCXX::String MwCXX::Label::GetText() {
return (MwCXX::String)MwGetText(this->widget, MwNtext); return (MwCXX::String)MwGetString(this->widget, MwNtext);
} }
void MwCXX::Label::SetText(MwCXX::String value) { void MwCXX::Label::SetText(MwCXX::String value) {
#ifndef MWCXX_USE_C_STRING #ifndef MWCXX_USE_C_STRING
MwSetText(this->widget, MwNtext, value.c_str()); MwSetString(this->widget, MwNtext, value.c_str());
#else #else
MwSetText(this->widget, MwNtext, (MwCXX::String)value); MwSetString(this->widget, MwNtext, (MwCXX::String)value);
#endif #endif
} }

View file

@ -11,14 +11,14 @@ MwCXX::NumberEntry::NumberEntry(MwCXX::String name, MwCXX::Base* parent, int x,
} }
MwCXX::String MwCXX::NumberEntry::GetText() { MwCXX::String MwCXX::NumberEntry::GetText() {
return (MwCXX::String)MwGetText(this->widget, MwNtext); return (MwCXX::String)MwGetString(this->widget, MwNtext);
} }
void MwCXX::NumberEntry::SetText(MwCXX::String value) { void MwCXX::NumberEntry::SetText(MwCXX::String value) {
#ifndef MWCXX_USE_C_STRING #ifndef MWCXX_USE_C_STRING
MwSetText(this->widget, MwNtext, value.c_str()); MwSetString(this->widget, MwNtext, value.c_str());
#else #else
MwSetText(this->widget, MwNtext, (MwCXX::String)value); MwSetString(this->widget, MwNtext, (MwCXX::String)value);
#endif #endif
} }

View file

@ -11,22 +11,22 @@ MwCXX::SubWindow::SubWindow(MwCXX::String name, MwCXX::Base* parent, int x, int
} }
MwLLPixmap MwCXX::SubWindow::GetIconPixmap() { MwLLPixmap MwCXX::SubWindow::GetIconPixmap() {
return (MwLLPixmap)MwGetVoid(this->widget, MwNiconPixmap); return (MwLLPixmap)MwGetPointer(this->widget, MwNiconPixmap);
} }
void MwCXX::SubWindow::SetIconPixmap(MwLLPixmap value) { void MwCXX::SubWindow::SetIconPixmap(MwLLPixmap value) {
MwSetVoid(this->widget, MwNiconPixmap, (MwLLPixmap)value); MwSetPointer(this->widget, MwNiconPixmap, (MwLLPixmap)value);
} }
MwCXX::String MwCXX::SubWindow::GetTitle() { MwCXX::String MwCXX::SubWindow::GetTitle() {
return (MwCXX::String)MwGetText(this->widget, MwNtitle); return (MwCXX::String)MwGetString(this->widget, MwNtitle);
} }
void MwCXX::SubWindow::SetTitle(MwCXX::String value) { void MwCXX::SubWindow::SetTitle(MwCXX::String value) {
#ifndef MWCXX_USE_C_STRING #ifndef MWCXX_USE_C_STRING
MwSetText(this->widget, MwNtitle, value.c_str()); MwSetString(this->widget, MwNtitle, value.c_str());
#else #else
MwSetText(this->widget, MwNtitle, (MwCXX::String)value); MwSetString(this->widget, MwNtitle, (MwCXX::String)value);
#endif #endif
} }

View file

@ -14,10 +14,10 @@ MwCXX::Vulkan::Vulkan(MwCXX::String name, MwCXX::Base* parent, int x, int y, uns
void MwCXX::Vulkan::RegisterHandlers() { void MwCXX::Vulkan::RegisterHandlers() {
} }
void* MwCXX::Vulkan::GetField(int field, int* output) { void* MwCXX::Vulkan::GetField() {
void* out; void* out;
MwVaWidgetExecute(this->widget, "mwVulkanGetField", &out, field, output); MwVaWidgetExecute(this->widget, "mwVulkanGetField", &out);
return out; return out;
} }

View file

@ -11,14 +11,14 @@ MwCXX::Window::Window(MwCXX::String name, MwCXX::Base* parent, int x, int y, uns
} }
MwCXX::String MwCXX::Window::GetTitle() { MwCXX::String MwCXX::Window::GetTitle() {
return (MwCXX::String)MwGetText(this->widget, MwNtitle); return (MwCXX::String)MwGetString(this->widget, MwNtitle);
} }
void MwCXX::Window::SetTitle(MwCXX::String value) { void MwCXX::Window::SetTitle(MwCXX::String value) {
#ifndef MWCXX_USE_C_STRING #ifndef MWCXX_USE_C_STRING
MwSetText(this->widget, MwNtitle, value.c_str()); MwSetString(this->widget, MwNtitle, value.c_str());
#else #else
MwSetText(this->widget, MwNtitle, (MwCXX::String)value); MwSetString(this->widget, MwNtitle, (MwCXX::String)value);
#endif #endif
} }
@ -31,19 +31,19 @@ void MwCXX::Window::SetMain(int value) {
} }
MwLLPixmap MwCXX::Window::GetIconPixmap() { MwLLPixmap MwCXX::Window::GetIconPixmap() {
return (MwLLPixmap)MwGetVoid(this->widget, MwNiconPixmap); return (MwLLPixmap)MwGetPointer(this->widget, MwNiconPixmap);
} }
void MwCXX::Window::SetIconPixmap(MwLLPixmap value) { void MwCXX::Window::SetIconPixmap(MwLLPixmap value) {
MwSetVoid(this->widget, MwNiconPixmap, (MwLLPixmap)value); MwSetPointer(this->widget, MwNiconPixmap, (MwLLPixmap)value);
} }
MwSizeHints* MwCXX::Window::GetSizeHints() { MwSizeHints* MwCXX::Window::GetSizeHints() {
return (MwSizeHints*)MwGetVoid(this->widget, MwNsizeHints); return (MwSizeHints*)MwGetPointer(this->widget, MwNsizeHints);
} }
void MwCXX::Window::SetSizeHints(MwSizeHints* value) { void MwCXX::Window::SetSizeHints(MwSizeHints* value) {
MwSetVoid(this->widget, MwNsizeHints, (MwSizeHints*)value); MwSetPointer(this->widget, MwNsizeHints, (MwSizeHints*)value);
} }
int MwCXX::Window::GetHasBorder() { int MwCXX::Window::GetHasBorder() {