-
1. Data: 2015-03-30 10:08:20
Temat: choosing "small 2d graphics library" interface
Od: firr <p...@g...com>
(pytanie po angielsku bo nie che mi sie przepisywac)
(here im speaking about c implementation only)
Im not sure if this question will find good
answers here but imo problem is quite important
(also interesting)
I got something like that, small 2d per
pixel library on my own, but the interface
is a bit mess (not hard mess but i would
like (ewentually) to get it really clean
and tidy ;-) (im blinking becouse in my case
it may be hard, but at least rethinking the
interface is not bad)
I need ExACT c intarface (small header)
some questions to consider
- should i make tlis library .lib or .dll,
maybe source (if source should I put it in one
file or more?)
- should i make this library biger or smaller?
I think smaller is beter, though it is not really
clear if watching carefully, for example if
i care about optimisation then i need like to provide more versions of routines)
[such liberery is form its nature rather small, do not need
vary many api calls, it seem that it should
be for example between 10 to 50 functions
exposed, draw line, set pixel, ew drav bezier,
draw sprite etc
- what should i put here (what functions ) to make it small but complete ?
- if i make variants for functions (for example
draw line with antialiasing and without) should i make separate function calls of
parametrise the one?
- what style of function names should i exactly chose (this is most iportant
question)
[could someone maybe wrote down the complete exact header examle?]
- such library is a set of functions operating (writing to) a 2 dimensional pixel
buffer (of size SIZE_X, SIZE_Y) i am not totally convinced how i should use this
buffer, should it be
encompased in library or should it be on the client code side and should i pass the
pointer
(and sizes) in each api call
(efficiency is important so if i should pass
those 3 values BUFF, SIZE_X, SIZE_Y to each
draw pixel, drawline it would be probably a
waste, so what options do i have?