~hp/widgets.lv2

aa8a0fc91e4c77081efce74172b5e58b2b4ea68c — Hanspeter Portner 2 years ago 27bc2e5
Squashed 'canvas.lv2/' changes from 7b775b4..9312797

9312797 add define to skip nanovg implementation.
0263395 include render_cairo.h in idisp.h.
b700b88 Use GLES3, deprecate direct inclusion of render.h.

git-subtree-dir: canvas.lv2
git-subtree-split: 93127979df1af3f7e5f8ef4f255ba2d6366d893c
M canvas.lv2/canvas.h => canvas.lv2/canvas.h +1 -1
@@ 1,5 1,5 @@
/*
 * Copyright (c) 2016 Hanspeter Portner (dev@open-music-kontrollers.ch)
 * Copyright (c) 2016-2021 Hanspeter Portner (dev@open-music-kontrollers.ch)
 *
 * This is free software: you can redistribute it and/or modify
 * it under the terms of the Artistic License 2.0 as published by

M canvas.lv2/forge.h => canvas.lv2/forge.h +1 -1
@@ 1,5 1,5 @@
/*
 * Copyright (c) 2016 Hanspeter Portner (dev@open-music-kontrollers.ch)
 * Copyright (c) 2016-2021 Hanspeter Portner (dev@open-music-kontrollers.ch)
 *
 * This is free software: you can redistribute it and/or modify
 * it under the terms of the Artistic License 2.0 as published by

M canvas.lv2/idisp.h => canvas.lv2/idisp.h +2 -3
@@ 1,5 1,5 @@
/*
 * Copyright (c) 2016 Hanspeter Portner (dev@open-music-kontrollers.ch)
 * Copyright (c) 2016-2021 Hanspeter Portner (dev@open-music-kontrollers.ch)
 *
 * This is free software: you can redistribute it and/or modify
 * it under the terms of the Artistic License 2.0 as published by


@@ 22,8 22,7 @@
extern "C" {
#endif

#define LV2_CANVAS_RENDER_CAIRO
#include <canvas.lv2/render.h>
#include <canvas.lv2/render_cairo.h>
#include <canvas.lv2/lv2_extensions.h>

typedef struct _LV2_Canvas_Idisp LV2_Canvas_Idisp;

M canvas.lv2/render.h => canvas.lv2/render.h +4 -9
@@ 1,5 1,5 @@
/*
 * Copyright (c) 2016 Hanspeter Portner (dev@open-music-kontrollers.ch)
 * Copyright (c) 2016-2021 Hanspeter Portner (dev@open-music-kontrollers.ch)
 *
 * This is free software: you can redistribute it and/or modify
 * it under the terms of the Artistic License 2.0 as published by


@@ 18,12 18,13 @@
#ifndef _LV2_CANVAS_RENDER_H
#define _LV2_CANVAS_RENDER_H

// Do NOT use this header directly, use render_{nanovg,cairo}.h instead
#include <canvas.lv2/canvas.h>

#ifdef __cplusplus
extern "C" {
#endif

#include <canvas.lv2/canvas.h>

#define LV2_CANVAS_NUM_METHODS 26

typedef struct _LV2_Canvas_Meth LV2_Canvas_Meth;


@@ 78,10 79,4 @@ _lv2_canvas_render_get_type(const LV2_Atom *body, LV2_URID type)
}
#endif

#if defined(LV2_CANVAS_RENDER_NANOVG)
#	include <canvas.lv2/render_nanovg.h>
#else
#	include <canvas.lv2/render_cairo.h>
#endif

#endif // _LV2_CANVAS_RENDER_H

M canvas.lv2/render_cairo.h => canvas.lv2/render_cairo.h +2 -2
@@ 1,5 1,5 @@
/*
 * Copyright (c) 2016 Hanspeter Portner (dev@open-music-kontrollers.ch)
 * Copyright (c) 2016-2021 Hanspeter Portner (dev@open-music-kontrollers.ch)
 *
 * This is free software: you can redistribute it and/or modify
 * it under the terms of the Artistic License 2.0 as published by


@@ 20,7 20,7 @@

#include <assert.h>

#include <canvas.lv2/canvas.h>
#include <canvas.lv2/render.h>

#include <cairo/cairo.h>


M canvas.lv2/render_nanovg.h => canvas.lv2/render_nanovg.h +11 -2
@@ 1,5 1,5 @@
/*
 * Copyright (c) 2016 Hanspeter Portner (dev@open-music-kontrollers.ch)
 * Copyright (c) 2016-2021 Hanspeter Portner (dev@open-music-kontrollers.ch)
 *
 * This is free software: you can redistribute it and/or modify
 * it under the terms of the Artistic License 2.0 as published by


@@ 20,6 20,8 @@

#include <assert.h>

#include <canvas.lv2/render.h>

#include <nanovg.h>

#if defined(__APPLE__)


@@ 29,8 31,15 @@
#	include <GL/glew.h>
#endif

#define NANOVG_GL2_IMPLEMENTATION
#if !defined(LV2_CANVAS_RENDER_NANOVG_NO_IMPLEMENTATION)
#	define NANOVG_GLES3_IMPLEMENTATION
#endif

#include <nanovg_gl.h>
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wsign-compare"
#include <nanovg_gl_utils.h>
#pragma GCC diagnostic pop

#if defined(NANOVG_GL2_IMPLEMENTATION)
#	define nvgCreate nvgCreateGL2