FLTK2 bindings for D
unknown
sphinski at netscape.net
Tue Aug 22 08:04:06 PDT 2006
Hi,
no pressure..
do you have solution for anonymous union/structs? Can't use -N option to
just for now ignore, because they are anonyous, or can I?
For example in SMaterial.h:
union {
struct {
ITexture* Texture1;
ITexture* Texture2;
ITexture* Texture3;
ITexture* Texture4;
};
ITexture* Textures[MATERIAL_MAX_TEXTURES];
};
Problem is that it generates illagel code in SMaterial.cc and
SMaterial.d, like:
void set_Texture1(ITexture * x) {
_BCD_set__ZN3irr5video9SMaterial4._104._118Texture1E(__C_data, x);
}
There are lot of things irrlicht brings surface, that I think are quite
common and not impossible to solve.
Thanks
Gregor Richards kirjoitti:
> Sorry I haven't responded yet, I've been busy with other projects. I'll
> try to help out ASAP.
>
> - Gregor Richards
>
>
> unknown wrote:
>> Hi!
>>
>> I try to work on Irrlicht..
>>
>> So I got all files generated, except one not important I could exclude
>> (propably much more files could be excluded)
>>
>> But then for example vecror3d is template class so it needs to be
>> worked on.. so I add option -Tvector3d to the command, which is now:
>> ./bcdgen $1/${i}.h irrlicht -I/home/me/D/bcd/irrlicht-1.1/include/ -r
>> -E -P -DV -Tvector3d -Tvector2d
>>
>> Get output:
>> vector2d
>> In file included from <command line>:88:
>> bcd/irrlicht/template_D.h:3: error: 'vector3d' is used as a type, but
>> is not defined as a type.
>> bcd/irrlicht/template_D.h:4: error: 'vector2d' is used as a type, but
>> is not defined as a type.
>> vector3d
>> In file included from <command line>:88:
>> bcd/irrlicht/template_D.h:3: error: 'vector3d' is used as a type, but
>> is not defined as a type.
>> bcd/irrlicht/template_D.h:4: error: 'vector2d' is used as a type, but
>> is not defined as a type.
>>
>>
>> template_d.h:
>> #include "../bind.h"
>> #include "/home/me/D/bcd/irrlicht-1.1/include/vector3d.h"
>> vector3d<DReflectedClass> __IGNORE_vector3d;
>> vector2d<DReflectedClass> __IGNORE_vector2d;
>>
>> Also template_D.h seems to be regenerated for every header, so it
>> includes only vector3d.h.. I am not very experienced..
>>
>> maybe better idea to remove templates by duplicating the template
>> class to two separate classes vector3df and vector3di? They are
>> typedefed anyway there..
>> typedef vector3d<f32> vector3df;
>> typedef vector3d<s32> vector3di;
>>
>> Thanks.
>>
>> Gregor Richards kirjoitti:
>>
>>> I made an attempt at OGRE, which was unfortunately not very
>>> successful, because OGRE makes heavy use of the STL :(
>>>
>>> - Gregor Richards
>>>
>>>
>>> unknown wrote:
>>>
>>>> Hi!
>>>>
>>>> I do not think it is competing too much. Native gui is necessary and
>>>> important for D to collect momentum. Momentum brings more native work.
>>>>
>>>> But seems many ports to native D are started and then cancelled (no
>>>> time, no interest, no people), so I see bcd very necessary.
>>>>
>>>> I did not know bcd. I am interested if binding to 3d engine like
>>>> Irrlich, Ogre or similar could be generated. I might give it a try.
>>>>
>>>>
>>>>
>>>> Gregor Richards kirjoitti:
>>>>
>>>>> I hate to compete with the far more compelling FLTK-port-to-D
>>>>> thread, but I don't think many people know about this, and it's
>>>>> definitely useful. There are FLTK2 bindings in D, autogenerated by
>>>>> bcd.gen ( http://www.dsource.org/projects/bcd/ ). Since they're
>>>>> generated automatically, they have very nearly the exact same API
>>>>> as the native C++ ones, PLUS they're easy to keep up to date (if
>>>>> they become incompatible, I can just run the script again and bring
>>>>> them up to date).
>>>>>
>>>>> They're available in SVN, info on checking them out is on the BCD
>>>>> web page ( http://www.dsource.org/projects/bcd/ ).
>>>>>
>>>>> Finally: These bindings have been partially but not completely
>>>>> tested. If you find a problem, it can probably be solved quite
>>>>> easily, in most cases it's a discrepancy between the FLTK2 .h files
>>>>> and .cxx files (naughty naughty). Just tell me by some means (NG,
>>>>> email, whatever).
>>>>>
>>>>> - Gregor Richards
More information about the Digitalmars-d-dwt
mailing list