Skip to content

Commit

Permalink
Add layer option to evgInit
Browse files Browse the repository at this point in the history
  • Loading branch information
mk-fg committed Jul 25, 2018
1 parent 431bdcc commit 743e259
Show file tree
Hide file tree
Showing 7 changed files with 11 additions and 7 deletions.
4 changes: 2 additions & 2 deletions example/hello.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ int main() {
/* We have to initialise the OpenVG canvas and renderer by using
* `init(&w, &h)`.
*/
evgInit(&width, &height);
evgBegin(width, height);
evgInit(&width, &height, 0);
evgBegin();
{
evgBackground(0, 0, 0);
evgFill(44, 77, 232, 1);
Expand Down
2 changes: 1 addition & 1 deletion python/evg.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class LibShapes(object):
evgSaveEnd(char *)
evgBackground(unsigned int, unsigned int, unsigned int)
evgBackgroundRGB(unsigned int, unsigned int, unsigned int, VGfloat)
evgInit(int *, int *)
evgInit(int *, int *, int)
evgFinish()
evgSetFill(VGfloat[4])
evgSetStroke(VGfloat[4])
Expand Down
2 changes: 1 addition & 1 deletion python/hello.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
evg = LibShapes()

w, h = evg.c_int(), evg.c_int()
evg.init(w, h)
evg.init(w, h, 0)
evg.begin()

evg.background(0, 0, 0)
Expand Down
3 changes: 2 additions & 1 deletion src/libshapes.c
Original file line number Diff line number Diff line change
Expand Up @@ -249,13 +249,14 @@ void evgInitWindowSize(int x, int y, unsigned int w, unsigned int h) {
}

// init sets the system to its initial state
void evgInit(int *w, int *h) {
void evgInit(int *w, int *h, int layer) {
bcm_host_init();
memset(state, 0, sizeof(*state));
state->window_x = init_x;
state->window_y = init_y;
state->window_width = init_w;
state->window_height = init_h;
state->layer = (int32_t) layer;
oglinit(state);
SansTypeface = loadfont(DejaVuSans_glyphPoints,
DejaVuSans_glyphPointIndices,
Expand Down
2 changes: 1 addition & 1 deletion src/libshapes.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ extern "C" {
extern void evgSaveEnd(const char *);
extern void evgBackground(unsigned int, unsigned int, unsigned int);
extern void evgBackgroundRGB(unsigned int, unsigned int, unsigned int, VGfloat);
extern void evgInit(int *, int *);
extern void evgInit(int *, int *, int);
extern void evgFinish();
extern void evgSetFill(VGfloat[4]);
extern void evgSetStroke(VGfloat[4]);
Expand Down
2 changes: 1 addition & 1 deletion src/oglinit.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ void oglinit(EVG_STATE_T * state) {
dispman_display = vc_dispmanx_display_open(0 /* LCD */ );
dispman_update = vc_dispmanx_update_start(0);

dispman_element = vc_dispmanx_element_add(dispman_update, dispman_display, 0 /*layer */ , &dst_rect, 0 /*src */ ,
dispman_element = vc_dispmanx_element_add(dispman_update, dispman_display, state->layer, &dst_rect, 0 /*src */ ,
&src_rect, DISPMANX_PROTECTION_NONE, &alpha, 0 /*clamp */ ,
0 /*transform */ );

Expand Down
3 changes: 3 additions & 0 deletions src/oglinit.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ typedef struct {
/** Window height, in pixels. */
uint32_t window_height;

/** Layer on which to draw stuff. */
int32_t layer;

DISPMANX_ELEMENT_HANDLE_T element;

// EGL data
Expand Down

0 comments on commit 743e259

Please sign in to comment.