skia_inc_effects = include_directories('submodule/skia/include/effects')
skia_inc_dirs = [skia_inc, skia_inc_core, skia_inc_effects]
-if get_option('use_gl') == true
- skia_inc_dirs += include_directories('submodule/skia/include/gpu')
-endif
+skia_inc_gpu = include_directories('submodule/skia/include/gpu')
skia_dir = meson.current_source_dir() + '/submodule/skia/out/static/'
skia_lib = cc.find_library('libskia', dirs : skia_dir, static: true, header_include_directories: skia_inc_dirs)
skia_dep = declare_dependency(
- include_directories: skia_inc_dirs,
+ include_directories: [skia_inc, skia_inc_core, skia_inc_effects],
dependencies: skia_lib,
)
-headers = [include_directories('inc'), include_directories('src'), rive_cpp_inc, skia_inc_dirs]
+headers = [include_directories('inc'), include_directories('src'), rive_cpp_inc, skia_inc, skia_inc_core, skia_inc_effects]
subdir('inc')
subdir('src')
#include "rive_tizen.hpp"
-#include <skia_factory.hpp>
-#include <skia_renderer.hpp>
+#include <SkCanvas.h>
+#include <SkColorSpace.h>
+#include <SkSurface.h>
+#include <SkTypes.h>
#include <SkCanvas.h>
#include <SkColorSpace.h>
#include <SkSurface.h>
#include <SkTypes.h>
-#ifdef USE_GL
-#define SK_GL
-#include <GLFW/glfw3.h>
+#include <skia_factory.hpp>
+#include <skia_renderer.hpp>
-#include "GrBackendSurface.h"
-#include "GrDirectContext.h"
-#include "gl/GrGLInterface.h"
-#endif
+#include <SkCanvas.h>
+#include <SkColorSpace.h>
+#include <SkSurface.h>
+#include <SkTypes.h>
#include <rive/node.hpp>
#include <rive/shapes/paint/color.hpp>
static std::unique_ptr<rive::File> mFile;
static std::unique_ptr<rive::ArtboardInstance> mArtboardInstance;
-#ifdef USE_GL
-static sk_sp<GrDirectContext> mContext;
-#endif
-
RiveTizen::RiveTizen()
{
}
bool RiveTizen::createCanvas(unsigned char *buffer, unsigned int width, unsigned int height, unsigned int stride)
{
-#ifdef USE_GL
- // Buffer is unused for gpu-based version
- GrContextOptions options;
- mContext = GrDirectContext::MakeGL(nullptr, options);
-
- GrGLFramebufferInfo framebufferInfo;
- framebufferInfo.fFBOID = 0;
- framebufferInfo.fFormat = GL_RGBA8;
- GrBackendRenderTarget backendRenderTarget(width, height, 0 /* sample count */, 0 /* stencil bits */, framebufferInfo);
-
- mSkiaSurface = SkSurface::MakeFromBackendRenderTarget(mContext.get(), backendRenderTarget, kBottomLeft_GrSurfaceOrigin,
- kRGBA_8888_SkColorType, nullptr, nullptr);
-#else
+
SkImageInfo info = SkImageInfo::MakeN32Premul(width, height);
mSkiaSurface = SkSurface::MakeRasterDirect(info, buffer, stride * 4);
-#endif
-
- if (!mSkiaSurface)
- {
- #ifdef USE_GL
- #define USE_GL_VALUE "true"
- #else
- #define USE_GL_VALUE "false"
- #endif
- LOGE("[Failed to create Skia surface][USE_GL = " USE_GL_VALUE "]");
- return false;
- }
-
mSkiaCanvas = mSkiaSurface->getCanvas();
mSkiaCanvas->clear(SK_ColorTRANSPARENT);
return true;
renderer.transform(viewTransform);
mArtboardInstance->draw(&renderer);
renderer.restore();
-
-#ifdef USE_GL
- mContext->flush();
-#endif
-
return true;
}