Thread overview | |||||
---|---|---|---|---|---|
|
June 28, 2005 size of C enum | ||||
---|---|---|---|---|
| ||||
I am still working on FreeType for D, and I am having trouble, of course.
Sooo, if FreeType is in C, and I am writing a binding... And there is an enum in the headers, which is refered to by the name of the enumeration...
I should take this...
/* C Code */
typedef enum FT_Glyph_Format_
{
FT_GLYPH_FORMAT_NONE = 0,
FT_GLYPH_FORMAT_COMPOSITE = 1668246896,
FT_GLYPH_FORMAT_BITMAP = 1651078259,
FT_GLYPH_FORMAT_OUTLINE = 1869968492,
FT_GLYPH_FORMAT_PLOTTER = 1886154612
} FT_Glyph_Format;
/* */
and write this?
/* D Code */
alias int FT_Glyph_Format;
const int FT_GLYPH_FORMAT_NONE = 0;
const int FT_GLYPH_FORMAT_COMPOSITE = 1668246896;
const int FT_GLYPH_FORMAT_BITMAP = 1651078259;
const int FT_GLYPH_FORMAT_OUTLINE = 1869968492;
const int FT_GLYPH_FORMAT_PLOTTER = 1886154612;
/* */
The reason I am asking, is because I am getting an error that the FT_Glyph_Format is invalid, which to me hints wrong data type, but I have tried everything I feel like...
How big is a C enumeration in D? Am I doing this all wrong? ANY Help would be really great!
--
Thanks,
Trevor Parscal
www.trevorparscal.com
trevorparscal@hotmail.com
|
June 28, 2005 Re: size of C enum | ||||
---|---|---|---|---|
| ||||
Posted in reply to Trevor Parscal | I would personally just do this:
enum FT_Glyph_Format
{
FT_GLYPH_FORMAT_NONE = 0,
FT_GLYPH_FORMAT_COMPOSITE = 1668246896,
FT_GLYPH_FORMAT_BITMAP = 1651078259,
FT_GLYPH_FORMAT_OUTLINE = 1869968492,
FT_GLYPH_FORMAT_PLOTTER = 1886154612
}
But you could do this:
alias int FT_Glyph_Format;
const FT_Glyph_Format FT_GLYPH_FORMAT_NONE = 0;
const FT_Glyph_Format FT_GLYPH_FORMAT_COMPOSITE = 1668246896;
const FT_Glyph_Format FT_GLYPH_FORMAT_BITMAP = 1651078259;
const FT_Glyph_Format FT_GLYPH_FORMAT_OUTLINE = 1869968492;
const FT_Glyph_Format FT_GLYPH_FORMAT_PLOTTER = 1886154612;
An enum will be, afaik, an int by default.
-[Unknown]
> I am still working on FreeType for D, and I am having trouble, of course.
>
> Sooo, if FreeType is in C, and I am writing a binding... And there is an enum in the headers, which is refered to by the name of the enumeration...
>
> I should take this...
>
> /* C Code */
> typedef enum FT_Glyph_Format_
> {
> FT_GLYPH_FORMAT_NONE = 0,
> FT_GLYPH_FORMAT_COMPOSITE = 1668246896,
> FT_GLYPH_FORMAT_BITMAP = 1651078259,
> FT_GLYPH_FORMAT_OUTLINE = 1869968492,
> FT_GLYPH_FORMAT_PLOTTER = 1886154612
> } FT_Glyph_Format;
> /* */
>
> and write this?
>
> /* D Code */
> alias int FT_Glyph_Format;
> const int FT_GLYPH_FORMAT_NONE = 0;
> const int FT_GLYPH_FORMAT_COMPOSITE = 1668246896;
> const int FT_GLYPH_FORMAT_BITMAP = 1651078259;
> const int FT_GLYPH_FORMAT_OUTLINE = 1869968492;
> const int FT_GLYPH_FORMAT_PLOTTER = 1886154612;
> /* */
>
> The reason I am asking, is because I am getting an error that the FT_Glyph_Format is invalid, which to me hints wrong data type, but I have tried everything I feel like...
>
> How big is a C enumeration in D? Am I doing this all wrong? ANY Help would be really great!
>
|
July 01, 2005 Re: size of C enum | ||||
---|---|---|---|---|
| ||||
Posted in reply to Unknown W. Brackets | Unknown W. Brackets wrote: > I would personally just do this: > > enum FT_Glyph_Format > { > FT_GLYPH_FORMAT_NONE = 0, > FT_GLYPH_FORMAT_COMPOSITE = 1668246896, > FT_GLYPH_FORMAT_BITMAP = 1651078259, > FT_GLYPH_FORMAT_OUTLINE = 1869968492, > FT_GLYPH_FORMAT_PLOTTER = 1886154612 > } > > But you could do this: > > alias int FT_Glyph_Format; > const FT_Glyph_Format FT_GLYPH_FORMAT_NONE = 0; > const FT_Glyph_Format FT_GLYPH_FORMAT_COMPOSITE = 1668246896; > const FT_Glyph_Format FT_GLYPH_FORMAT_BITMAP = 1651078259; > const FT_Glyph_Format FT_GLYPH_FORMAT_OUTLINE = 1869968492; > const FT_Glyph_Format FT_GLYPH_FORMAT_PLOTTER = 1886154612; > > An enum will be, afaik, an int by default. <snip> How about this? enum FT_Glyph_Format { NONE = 0, COMPOSITE = 1668246896, BITMAP = 1651078259, OUTLINE = 1869968492, PLOTTER = 1886154612 } No point forcing yourself to write such redundancies as FT_Glyph_Format.FT_GLYPH_FORMAT_COMPOSITE all the time. This way, the final underscore effectively turns into a dot. This is how, in SDWF, I create enums from Windows API constants. Stewart. -- My e-mail is valid but not my primary mailbox. Please keep replies on the 'group where everyone may benefit. |
Copyright © 1999-2021 by the D Language Foundation