2016-11-29 15:33:14 +00:00
|
|
|
#ifndef __GSK_VULKAN_RENDERER_PRIVATE_H__
|
|
|
|
#define __GSK_VULKAN_RENDERER_PRIVATE_H__
|
|
|
|
|
|
|
|
#include <vulkan/vulkan.h>
|
|
|
|
#include <gsk/gskrenderer.h>
|
|
|
|
|
2016-12-09 06:23:04 +00:00
|
|
|
#include "gsk/gskvulkanimageprivate.h"
|
|
|
|
|
2016-11-29 15:33:14 +00:00
|
|
|
G_BEGIN_DECLS
|
|
|
|
|
|
|
|
#define GSK_TYPE_VULKAN_RENDERER (gsk_vulkan_renderer_get_type ())
|
|
|
|
|
|
|
|
#define GSK_VULKAN_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSK_TYPE_VULKAN_RENDERER, GskVulkanRenderer))
|
|
|
|
#define GSK_IS_VULKAN_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSK_TYPE_VULKAN_RENDERER))
|
|
|
|
#define GSK_VULKAN_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSK_TYPE_VULKAN_RENDERER, GskVulkanRendererClass))
|
|
|
|
#define GSK_IS_VULKAN_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSK_TYPE_VULKAN_RENDERER))
|
|
|
|
#define GSK_VULKAN_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSK_TYPE_VULKAN_RENDERER, GskVulkanRendererClass))
|
|
|
|
|
|
|
|
typedef struct _GskVulkanRenderer GskVulkanRenderer;
|
|
|
|
typedef struct _GskVulkanRendererClass GskVulkanRendererClass;
|
|
|
|
|
|
|
|
GType gsk_vulkan_renderer_get_type (void) G_GNUC_CONST;
|
|
|
|
|
2016-12-09 06:23:04 +00:00
|
|
|
GskVulkanImage * gsk_vulkan_renderer_ref_texture_image (GskVulkanRenderer *self,
|
2017-11-02 20:39:00 +00:00
|
|
|
GdkTexture *texture,
|
2016-12-17 03:22:44 +00:00
|
|
|
GskVulkanUploader *uploader);
|
2016-12-09 06:23:04 +00:00
|
|
|
|
2017-09-19 22:53:32 +00:00
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
guint texture_index;
|
|
|
|
|
|
|
|
float tx;
|
|
|
|
float ty;
|
|
|
|
float tw;
|
|
|
|
float th;
|
|
|
|
|
|
|
|
int draw_x;
|
|
|
|
int draw_y;
|
|
|
|
int draw_width;
|
|
|
|
int draw_height;
|
2017-09-20 21:52:40 +00:00
|
|
|
|
|
|
|
guint64 timestamp;
|
2017-09-19 22:53:32 +00:00
|
|
|
} GskVulkanCachedGlyph;
|
|
|
|
|
|
|
|
guint gsk_vulkan_renderer_cache_glyph (GskVulkanRenderer *renderer,
|
|
|
|
PangoFont *font,
|
2017-10-28 17:13:31 +00:00
|
|
|
PangoGlyph glyph,
|
|
|
|
float scale);
|
2017-09-19 22:53:32 +00:00
|
|
|
|
|
|
|
GskVulkanImage * gsk_vulkan_renderer_ref_glyph_image (GskVulkanRenderer *self,
|
|
|
|
GskVulkanUploader *uploader,
|
|
|
|
guint index);
|
|
|
|
|
|
|
|
GskVulkanCachedGlyph * gsk_vulkan_renderer_get_cached_glyph (GskVulkanRenderer *self,
|
|
|
|
PangoFont *font,
|
2017-10-28 17:13:31 +00:00
|
|
|
PangoGlyph glyph,
|
|
|
|
float scale);
|
2017-09-19 22:53:32 +00:00
|
|
|
|
2017-09-01 20:58:42 +00:00
|
|
|
|
2016-11-29 15:33:14 +00:00
|
|
|
G_END_DECLS
|
|
|
|
|
|
|
|
#endif /* __GSK_VULKAN_RENDERER_PRIVATE_H__ */
|