/* GSK - The GTK Scene Kit
*
* Copyright 2016 Endless
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see .
*/
#pragma once
#if !defined (__GSK_H_INSIDE__) && !defined (GTK_COMPILATION)
#error "Only can be included directly."
#endif
#include
G_BEGIN_DECLS
typedef struct _GskShadowNode GskShadowNode;
#define GSK_TYPE_SHADOW_NODE (gsk_shadow_node_get_type())
typedef struct _GskShadow GskShadow;
/**
* GskShadow:
* @color: the color of the shadow
* @dx: the horizontal offset of the shadow
* @dy: the vertical offset of the shadow
* @radius: the radius of the shadow
*
* The shadow parameters in a shadow node.
*/
struct _GskShadow
{
GdkRGBA color;
float dx;
float dy;
float radius;
};
GDK_AVAILABLE_IN_ALL
GType gsk_shadow_node_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GskRenderNode * gsk_shadow_node_new (GskRenderNode *child,
const GskShadow *shadows,
gsize n_shadows);
GDK_AVAILABLE_IN_ALL
GskRenderNode * gsk_shadow_node_get_child (const GskRenderNode *node) G_GNUC_PURE;
GDK_AVAILABLE_IN_ALL
const GskShadow * gsk_shadow_node_get_shadow (const GskRenderNode *node,
gsize i) G_GNUC_PURE;
GDK_AVAILABLE_IN_ALL
gsize gsk_shadow_node_get_n_shadows (const GskRenderNode *node) G_GNUC_PURE;
G_END_DECLS