lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Hi,

Jerome Vuarand wrote:
Hakki Dogusan wrote:
I need your advice for cairo_matrix_t; It is declared as:

typedef struct _cairo_matrix {
     double xx; double yx;
     double xy; double yy;
     double x0; double y0;
} cairo_matrix_t;
[...]
- named fields,ie:
   matrix = {xx=.5, yx=1.0, xy=.9, yy=.3, x0=.3, y0=.2}

- or, array, ie:
   matrix = {.5, 1.0, .9, .3, .3, .2}

- or, something else

I vote for named fields :-)


Ok, recorded :)

As a general rule, I think C arrays should be put in array part of Lua
tables, with the same number of dimension, and a 1 offset, and C
structures should use named fields in tables. The exception would be if
the array cells are used as pseudo strutct members with constants
indices (like char* data[2]; data[CST_INDEX_NAME] = "me";
data[CST_INDEX_ADDRESS] = "here";).

Also the original Cairo designers probably had good reasons to use a
struct rather than a 1- or 2-dimensionnal array, you shouldn't do the
contrary unless you have an even better reason to do so.

My 2 cents :-)



Thanks for answering.

--
Regards,
Hakki Dogusan