Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
51 changes: 50 additions & 1 deletion cmd/genbindings/clang2il.go
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,11 @@ func processClassType(node *AstNode, addNamePrefix string) (CppClass, error) {
}
}

isSignal := false
var (
isSignal = false
sawNoArgCtor = false
sawDeletedCtor = false
)

// Parse all methods

Expand Down Expand Up @@ -311,6 +315,16 @@ nextMethod:

case "CXXConstructorDecl":

// This is a default constructor (no args)
if len(node.Inner) == 0 {
sawNoArgCtor = true
}

if isExplicitlyDeleted(node) {
// Default constructor is deleted
sawDeletedCtor = true
}

if isImplicit, ok := node.Fields["isImplicit"].(bool); ok && isImplicit {
// This is an implicit ctor. Therefore the class is constructable
// even if we're currently in a `private:` block.
Expand Down Expand Up @@ -524,6 +538,41 @@ nextMethod:
}
}

// Special hack: inject a fake implicit default ctor
// Clang seems to only include a CXXConstructorDecl for default ctors in some cases
// It's missing for QTextLayout::FormatRange.
//
// Notes:
// - Implicit default ctor, of a class with no user-declared ctors, is missing unless it is actually used
// - We do get definitionData.defaultCtor.exists but that is also true for deleted ctors
// - Also skip unless there is already another ctor, to avoid generating unsable ctors for QAbstract** classes

if definitionData, ok := node.Fields["definitionData"].(map[string]interface{}); ok {
if defaultCtor, ok := definitionData["defaultCtor"].(map[string]interface{}); ok {
if exists, ok := defaultCtor["exists"].(bool); ok && exists {
if !sawNoArgCtor && !sawDeletedCtor && !ret.Abstract && len(ret.Ctors) > 0 {

// Also make sure we do not already have an explicit ctor
hasBoundDefault := false
for _, ctor := range ret.Ctors {
if len(ctor.Parameters) == 0 {
hasBoundDefault = true
break
}
}

if !hasBoundDefault {
// Add at end, to not renumber existing classes before this technique was added
ret.Ctors = append(ret.Ctors, CppMethod{
ReturnType: CppParameter{ParameterType: "void"},
IsStatic: true,
})
}
}
}
}
}

return ret, nil // done
}

Expand Down
16 changes: 13 additions & 3 deletions qt-extras/qwt/gen_qwt_color_map.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ class MiqtVirtualQwtLinearColorMap final : public QwtLinearColorMap {

MiqtVirtualQwtLinearColorMap(): QwtLinearColorMap() {}
MiqtVirtualQwtLinearColorMap(const QColor& color1, const QColor& color2): QwtLinearColorMap(color1, color2) {}
MiqtVirtualQwtLinearColorMap(): QwtLinearColorMap() {}
MiqtVirtualQwtLinearColorMap(QwtColorMap::Format param1): QwtLinearColorMap(param1) {}
MiqtVirtualQwtLinearColorMap(const QColor& color1, const QColor& color2, QwtColorMap::Format param3): QwtLinearColorMap(color1, color2, param3) {}

Expand Down Expand Up @@ -259,11 +260,15 @@ QwtLinearColorMap* QwtLinearColorMap_new2(QColor* color1, QColor* color2) {
return new (std::nothrow) MiqtVirtualQwtLinearColorMap(*color1, *color2);
}

QwtLinearColorMap* QwtLinearColorMap_new3(int param1) {
QwtLinearColorMap* QwtLinearColorMap_new3() {
return new (std::nothrow) MiqtVirtualQwtLinearColorMap();
}

QwtLinearColorMap* QwtLinearColorMap_new4(int param1) {
return new (std::nothrow) MiqtVirtualQwtLinearColorMap(static_cast<QwtColorMap::Format>(param1));
}

QwtLinearColorMap* QwtLinearColorMap_new4(QColor* color1, QColor* color2, int param3) {
QwtLinearColorMap* QwtLinearColorMap_new5(QColor* color1, QColor* color2, int param3) {
return new (std::nothrow) MiqtVirtualQwtLinearColorMap(*color1, *color2, static_cast<QwtColorMap::Format>(param3));
}

Expand Down Expand Up @@ -377,6 +382,7 @@ void QwtLinearColorMap_delete(QwtLinearColorMap* self) {
class MiqtVirtualQwtAlphaColorMap final : public QwtAlphaColorMap {
public:

MiqtVirtualQwtAlphaColorMap(): QwtAlphaColorMap() {}
MiqtVirtualQwtAlphaColorMap(): QwtAlphaColorMap() {}
MiqtVirtualQwtAlphaColorMap(const QColor& param1): QwtAlphaColorMap(param1) {}

Expand Down Expand Up @@ -431,7 +437,11 @@ QwtAlphaColorMap* QwtAlphaColorMap_new() {
return new (std::nothrow) MiqtVirtualQwtAlphaColorMap();
}

QwtAlphaColorMap* QwtAlphaColorMap_new2(QColor* param1) {
QwtAlphaColorMap* QwtAlphaColorMap_new2() {
return new (std::nothrow) MiqtVirtualQwtAlphaColorMap();
}

QwtAlphaColorMap* QwtAlphaColorMap_new3(QColor* param1) {
return new (std::nothrow) MiqtVirtualQwtAlphaColorMap(*param1);
}

Expand Down
24 changes: 18 additions & 6 deletions qt-extras/qwt/gen_qwt_color_map.go
Original file line number Diff line number Diff line change
Expand Up @@ -256,15 +256,21 @@ func NewQwtLinearColorMap2(color1 *qt.QColor, color2 *qt.QColor) *QwtLinearColor
}

// NewQwtLinearColorMap3 constructs a new QwtLinearColorMap object.
func NewQwtLinearColorMap3(param1 QwtColorMap__Format) *QwtLinearColorMap {
func NewQwtLinearColorMap3() *QwtLinearColorMap {

return newQwtLinearColorMap(C.QwtLinearColorMap_new3((C.int)(param1)))
return newQwtLinearColorMap(C.QwtLinearColorMap_new3())
}

// NewQwtLinearColorMap4 constructs a new QwtLinearColorMap object.
func NewQwtLinearColorMap4(color1 *qt.QColor, color2 *qt.QColor, param3 QwtColorMap__Format) *QwtLinearColorMap {
func NewQwtLinearColorMap4(param1 QwtColorMap__Format) *QwtLinearColorMap {

return newQwtLinearColorMap(C.QwtLinearColorMap_new4((*C.QColor)(color1.UnsafePointer()), (*C.QColor)(color2.UnsafePointer()), (C.int)(param3)))
return newQwtLinearColorMap(C.QwtLinearColorMap_new4((C.int)(param1)))
}

// NewQwtLinearColorMap5 constructs a new QwtLinearColorMap object.
func NewQwtLinearColorMap5(color1 *qt.QColor, color2 *qt.QColor, param3 QwtColorMap__Format) *QwtLinearColorMap {

return newQwtLinearColorMap(C.QwtLinearColorMap_new5((*C.QColor)(color1.UnsafePointer()), (*C.QColor)(color2.UnsafePointer()), (C.int)(param3)))
}

func (this *QwtLinearColorMap) SetMode(mode QwtLinearColorMap__Mode) {
Expand Down Expand Up @@ -470,9 +476,15 @@ func NewQwtAlphaColorMap() *QwtAlphaColorMap {
}

// NewQwtAlphaColorMap2 constructs a new QwtAlphaColorMap object.
func NewQwtAlphaColorMap2(param1 *qt.QColor) *QwtAlphaColorMap {
func NewQwtAlphaColorMap2() *QwtAlphaColorMap {

return newQwtAlphaColorMap(C.QwtAlphaColorMap_new2())
}

// NewQwtAlphaColorMap3 constructs a new QwtAlphaColorMap object.
func NewQwtAlphaColorMap3(param1 *qt.QColor) *QwtAlphaColorMap {

return newQwtAlphaColorMap(C.QwtAlphaColorMap_new2((*C.QColor)(param1.UnsafePointer())))
return newQwtAlphaColorMap(C.QwtAlphaColorMap_new3((*C.QColor)(param1.UnsafePointer())))
}

func (this *QwtAlphaColorMap) SetColor(color *qt.QColor) {
Expand Down
8 changes: 5 additions & 3 deletions qt-extras/qwt/gen_qwt_color_map.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,9 @@ void QwtColorMap_delete(QwtColorMap* self);

QwtLinearColorMap* QwtLinearColorMap_new();
QwtLinearColorMap* QwtLinearColorMap_new2(QColor* color1, QColor* color2);
QwtLinearColorMap* QwtLinearColorMap_new3(int param1);
QwtLinearColorMap* QwtLinearColorMap_new4(QColor* color1, QColor* color2, int param3);
QwtLinearColorMap* QwtLinearColorMap_new3();
QwtLinearColorMap* QwtLinearColorMap_new4(int param1);
QwtLinearColorMap* QwtLinearColorMap_new5(QColor* color1, QColor* color2, int param3);
void QwtLinearColorMap_virtbase(QwtLinearColorMap* src, QwtColorMap** outptr_QwtColorMap);
void QwtLinearColorMap_setMode(QwtLinearColorMap* self, int mode);
int QwtLinearColorMap_mode(const QwtLinearColorMap* self);
Expand All @@ -71,7 +72,8 @@ struct miqt_array /* of unsigned int */ QwtLinearColorMap_virtualbase_colorTabl
void QwtLinearColorMap_delete(QwtLinearColorMap* self);

QwtAlphaColorMap* QwtAlphaColorMap_new();
QwtAlphaColorMap* QwtAlphaColorMap_new2(QColor* param1);
QwtAlphaColorMap* QwtAlphaColorMap_new2();
QwtAlphaColorMap* QwtAlphaColorMap_new3(QColor* param1);
void QwtAlphaColorMap_virtbase(QwtAlphaColorMap* src, QwtColorMap** outptr_QwtColorMap);
void QwtAlphaColorMap_setColor(QwtAlphaColorMap* self, QColor* color);
QColor* QwtAlphaColorMap_color(const QwtAlphaColorMap* self);
Expand Down
7 changes: 6 additions & 1 deletion qt-extras/qwt/gen_qwt_column_symbol.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ void QwtColumnRect_delete(QwtColumnRect* self) {
class MiqtVirtualQwtColumnSymbol final : public QwtColumnSymbol {
public:

MiqtVirtualQwtColumnSymbol(): QwtColumnSymbol() {}
MiqtVirtualQwtColumnSymbol(): QwtColumnSymbol() {}
MiqtVirtualQwtColumnSymbol(QwtColumnSymbol::Style param1): QwtColumnSymbol(param1) {}

Expand Down Expand Up @@ -91,7 +92,11 @@ QwtColumnSymbol* QwtColumnSymbol_new() {
return new (std::nothrow) MiqtVirtualQwtColumnSymbol();
}

QwtColumnSymbol* QwtColumnSymbol_new2(int param1) {
QwtColumnSymbol* QwtColumnSymbol_new2() {
return new (std::nothrow) MiqtVirtualQwtColumnSymbol();
}

QwtColumnSymbol* QwtColumnSymbol_new3(int param1) {
return new (std::nothrow) MiqtVirtualQwtColumnSymbol(static_cast<QwtColumnSymbol::Style>(param1));
}

Expand Down
10 changes: 8 additions & 2 deletions qt-extras/qwt/gen_qwt_column_symbol.go
Original file line number Diff line number Diff line change
Expand Up @@ -169,9 +169,15 @@ func NewQwtColumnSymbol() *QwtColumnSymbol {
}

// NewQwtColumnSymbol2 constructs a new QwtColumnSymbol object.
func NewQwtColumnSymbol2(param1 QwtColumnSymbol__Style) *QwtColumnSymbol {
func NewQwtColumnSymbol2() *QwtColumnSymbol {

return newQwtColumnSymbol(C.QwtColumnSymbol_new2((C.int)(param1)))
return newQwtColumnSymbol(C.QwtColumnSymbol_new2())
}

// NewQwtColumnSymbol3 constructs a new QwtColumnSymbol object.
func NewQwtColumnSymbol3(param1 QwtColumnSymbol__Style) *QwtColumnSymbol {

return newQwtColumnSymbol(C.QwtColumnSymbol_new3((C.int)(param1)))
}

func (this *QwtColumnSymbol) SetFrameStyle(frameStyle QwtColumnSymbol__FrameStyle) {
Expand Down
3 changes: 2 additions & 1 deletion qt-extras/qwt/gen_qwt_column_symbol.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ void QwtColumnRect_setDirection(QwtColumnRect* self, int direction);
void QwtColumnRect_delete(QwtColumnRect* self);

QwtColumnSymbol* QwtColumnSymbol_new();
QwtColumnSymbol* QwtColumnSymbol_new2(int param1);
QwtColumnSymbol* QwtColumnSymbol_new2();
QwtColumnSymbol* QwtColumnSymbol_new3(int param1);
void QwtColumnSymbol_setFrameStyle(QwtColumnSymbol* self, int frameStyle);
int QwtColumnSymbol_frameStyle(const QwtColumnSymbol* self);
void QwtColumnSymbol_setLineWidth(QwtColumnSymbol* self, int width);
Expand Down
9 changes: 7 additions & 2 deletions qt-extras/qwt/gen_qwt_compass_rose.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ class MiqtVirtualQwtSimpleCompassRose final : public QwtSimpleCompassRose {

MiqtVirtualQwtSimpleCompassRose(): QwtSimpleCompassRose() {}
MiqtVirtualQwtSimpleCompassRose(const QwtSimpleCompassRose& param1): QwtSimpleCompassRose(param1) {}
MiqtVirtualQwtSimpleCompassRose(): QwtSimpleCompassRose() {}
MiqtVirtualQwtSimpleCompassRose(int numThorns): QwtSimpleCompassRose(numThorns) {}
MiqtVirtualQwtSimpleCompassRose(int numThorns, int numThornLevels): QwtSimpleCompassRose(numThorns, numThornLevels) {}

Expand Down Expand Up @@ -178,11 +179,15 @@ QwtSimpleCompassRose* QwtSimpleCompassRose_new2(QwtSimpleCompassRose* param1) {
return new (std::nothrow) MiqtVirtualQwtSimpleCompassRose(*param1);
}

QwtSimpleCompassRose* QwtSimpleCompassRose_new3(int numThorns) {
QwtSimpleCompassRose* QwtSimpleCompassRose_new3() {
return new (std::nothrow) MiqtVirtualQwtSimpleCompassRose();
}

QwtSimpleCompassRose* QwtSimpleCompassRose_new4(int numThorns) {
return new (std::nothrow) MiqtVirtualQwtSimpleCompassRose(static_cast<int>(numThorns));
}

QwtSimpleCompassRose* QwtSimpleCompassRose_new4(int numThorns, int numThornLevels) {
QwtSimpleCompassRose* QwtSimpleCompassRose_new5(int numThorns, int numThornLevels) {
return new (std::nothrow) MiqtVirtualQwtSimpleCompassRose(static_cast<int>(numThorns), static_cast<int>(numThornLevels));
}

Expand Down
14 changes: 10 additions & 4 deletions qt-extras/qwt/gen_qwt_compass_rose.go
Original file line number Diff line number Diff line change
Expand Up @@ -186,15 +186,21 @@ func NewQwtSimpleCompassRose2(param1 *QwtSimpleCompassRose) *QwtSimpleCompassRos
}

// NewQwtSimpleCompassRose3 constructs a new QwtSimpleCompassRose object.
func NewQwtSimpleCompassRose3(numThorns int) *QwtSimpleCompassRose {
func NewQwtSimpleCompassRose3() *QwtSimpleCompassRose {

return newQwtSimpleCompassRose(C.QwtSimpleCompassRose_new3((C.int)(numThorns)))
return newQwtSimpleCompassRose(C.QwtSimpleCompassRose_new3())
}

// NewQwtSimpleCompassRose4 constructs a new QwtSimpleCompassRose object.
func NewQwtSimpleCompassRose4(numThorns int, numThornLevels int) *QwtSimpleCompassRose {
func NewQwtSimpleCompassRose4(numThorns int) *QwtSimpleCompassRose {

return newQwtSimpleCompassRose(C.QwtSimpleCompassRose_new4((C.int)(numThorns), (C.int)(numThornLevels)))
return newQwtSimpleCompassRose(C.QwtSimpleCompassRose_new4((C.int)(numThorns)))
}

// NewQwtSimpleCompassRose5 constructs a new QwtSimpleCompassRose object.
func NewQwtSimpleCompassRose5(numThorns int, numThornLevels int) *QwtSimpleCompassRose {

return newQwtSimpleCompassRose(C.QwtSimpleCompassRose_new5((C.int)(numThorns), (C.int)(numThornLevels)))
}

func (this *QwtSimpleCompassRose) SetWidth(width float64) {
Expand Down
5 changes: 3 additions & 2 deletions qt-extras/qwt/gen_qwt_compass_rose.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,9 @@ void QwtCompassRose_delete(QwtCompassRose* self);

QwtSimpleCompassRose* QwtSimpleCompassRose_new();
QwtSimpleCompassRose* QwtSimpleCompassRose_new2(QwtSimpleCompassRose* param1);
QwtSimpleCompassRose* QwtSimpleCompassRose_new3(int numThorns);
QwtSimpleCompassRose* QwtSimpleCompassRose_new4(int numThorns, int numThornLevels);
QwtSimpleCompassRose* QwtSimpleCompassRose_new3();
QwtSimpleCompassRose* QwtSimpleCompassRose_new4(int numThorns);
QwtSimpleCompassRose* QwtSimpleCompassRose_new5(int numThorns, int numThornLevels);
void QwtSimpleCompassRose_virtbase(QwtSimpleCompassRose* src, QwtCompassRose** outptr_QwtCompassRose);
void QwtSimpleCompassRose_setWidth(QwtSimpleCompassRose* self, double width);
double QwtSimpleCompassRose_width(const QwtSimpleCompassRose* self);
Expand Down
7 changes: 6 additions & 1 deletion qt-extras/qwt/gen_qwt_date_scale_engine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ class MiqtVirtualQwtDateScaleEngine final : public QwtDateScaleEngine {

MiqtVirtualQwtDateScaleEngine(): QwtDateScaleEngine() {}
MiqtVirtualQwtDateScaleEngine(const QwtDateScaleEngine& param1): QwtDateScaleEngine(param1) {}
MiqtVirtualQwtDateScaleEngine(): QwtDateScaleEngine() {}
MiqtVirtualQwtDateScaleEngine(Qt::TimeSpec param1): QwtDateScaleEngine(param1) {}

virtual ~MiqtVirtualQwtDateScaleEngine() override = default;
Expand Down Expand Up @@ -127,7 +128,11 @@ QwtDateScaleEngine* QwtDateScaleEngine_new2(QwtDateScaleEngine* param1) {
return new (std::nothrow) MiqtVirtualQwtDateScaleEngine(*param1);
}

QwtDateScaleEngine* QwtDateScaleEngine_new3(int param1) {
QwtDateScaleEngine* QwtDateScaleEngine_new3() {
return new (std::nothrow) MiqtVirtualQwtDateScaleEngine();
}

QwtDateScaleEngine* QwtDateScaleEngine_new4(int param1) {
return new (std::nothrow) MiqtVirtualQwtDateScaleEngine(static_cast<Qt::TimeSpec>(param1));
}

Expand Down
10 changes: 8 additions & 2 deletions qt-extras/qwt/gen_qwt_date_scale_engine.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,15 @@ func NewQwtDateScaleEngine2(param1 *QwtDateScaleEngine) *QwtDateScaleEngine {
}

// NewQwtDateScaleEngine3 constructs a new QwtDateScaleEngine object.
func NewQwtDateScaleEngine3(param1 qt.TimeSpec) *QwtDateScaleEngine {
func NewQwtDateScaleEngine3() *QwtDateScaleEngine {

return newQwtDateScaleEngine(C.QwtDateScaleEngine_new3((C.int)(param1)))
return newQwtDateScaleEngine(C.QwtDateScaleEngine_new3())
}

// NewQwtDateScaleEngine4 constructs a new QwtDateScaleEngine object.
func NewQwtDateScaleEngine4(param1 qt.TimeSpec) *QwtDateScaleEngine {

return newQwtDateScaleEngine(C.QwtDateScaleEngine_new4((C.int)(param1)))
}

func (this *QwtDateScaleEngine) SetTimeSpec(timeSpec qt.TimeSpec) {
Expand Down
3 changes: 2 additions & 1 deletion qt-extras/qwt/gen_qwt_date_scale_engine.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ typedef struct QwtScaleEngine QwtScaleEngine;

QwtDateScaleEngine* QwtDateScaleEngine_new();
QwtDateScaleEngine* QwtDateScaleEngine_new2(QwtDateScaleEngine* param1);
QwtDateScaleEngine* QwtDateScaleEngine_new3(int param1);
QwtDateScaleEngine* QwtDateScaleEngine_new3();
QwtDateScaleEngine* QwtDateScaleEngine_new4(int param1);
void QwtDateScaleEngine_virtbase(QwtDateScaleEngine* src, QwtLinearScaleEngine** outptr_QwtLinearScaleEngine);
void QwtDateScaleEngine_setTimeSpec(QwtDateScaleEngine* self, int timeSpec);
int QwtDateScaleEngine_timeSpec(const QwtDateScaleEngine* self);
Expand Down
11 changes: 8 additions & 3 deletions qt-extras/qwt/gen_qwt_dial_needle.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -403,6 +403,7 @@ class MiqtVirtualQwtCompassMagnetNeedle final : public QwtCompassMagnetNeedle {

MiqtVirtualQwtCompassMagnetNeedle(): QwtCompassMagnetNeedle() {}
MiqtVirtualQwtCompassMagnetNeedle(const QwtCompassMagnetNeedle& param1): QwtCompassMagnetNeedle(param1) {}
MiqtVirtualQwtCompassMagnetNeedle(): QwtCompassMagnetNeedle() {}
MiqtVirtualQwtCompassMagnetNeedle(QwtCompassMagnetNeedle::Style param1): QwtCompassMagnetNeedle(param1) {}
MiqtVirtualQwtCompassMagnetNeedle(QwtCompassMagnetNeedle::Style param1, const QColor& light): QwtCompassMagnetNeedle(param1, light) {}
MiqtVirtualQwtCompassMagnetNeedle(QwtCompassMagnetNeedle::Style param1, const QColor& light, const QColor& dark): QwtCompassMagnetNeedle(param1, light, dark) {}
Expand Down Expand Up @@ -504,15 +505,19 @@ QwtCompassMagnetNeedle* QwtCompassMagnetNeedle_new2(QwtCompassMagnetNeedle* para
return new (std::nothrow) MiqtVirtualQwtCompassMagnetNeedle(*param1);
}

QwtCompassMagnetNeedle* QwtCompassMagnetNeedle_new3(int param1) {
QwtCompassMagnetNeedle* QwtCompassMagnetNeedle_new3() {
return new (std::nothrow) MiqtVirtualQwtCompassMagnetNeedle();
}

QwtCompassMagnetNeedle* QwtCompassMagnetNeedle_new4(int param1) {
return new (std::nothrow) MiqtVirtualQwtCompassMagnetNeedle(static_cast<QwtCompassMagnetNeedle::Style>(param1));
}

QwtCompassMagnetNeedle* QwtCompassMagnetNeedle_new4(int param1, QColor* light) {
QwtCompassMagnetNeedle* QwtCompassMagnetNeedle_new5(int param1, QColor* light) {
return new (std::nothrow) MiqtVirtualQwtCompassMagnetNeedle(static_cast<QwtCompassMagnetNeedle::Style>(param1), *light);
}

QwtCompassMagnetNeedle* QwtCompassMagnetNeedle_new5(int param1, QColor* light, QColor* dark) {
QwtCompassMagnetNeedle* QwtCompassMagnetNeedle_new6(int param1, QColor* light, QColor* dark) {
return new (std::nothrow) MiqtVirtualQwtCompassMagnetNeedle(static_cast<QwtCompassMagnetNeedle::Style>(param1), *light, *dark);
}

Expand Down
Loading
Loading