Blame clutter/clutter-paint-node-private.h

Packit Service bf98b9
/*
Packit Service bf98b9
 * Clutter.
Packit Service bf98b9
 *
Packit Service bf98b9
 * An OpenGL based 'interactive canvas' library.
Packit Service bf98b9
 *
Packit Service bf98b9
 * Copyright (C) 2011  Intel Corporation.
Packit Service bf98b9
 *
Packit Service bf98b9
 * This library is free software; you can redistribute it and/or
Packit Service bf98b9
 * modify it under the terms of the GNU Lesser General Public
Packit Service bf98b9
 * License as published by the Free Software Foundation; either
Packit Service bf98b9
 * version 2 of the License, or (at your option) any later version.
Packit Service bf98b9
 *
Packit Service bf98b9
 * This library is distributed in the hope that it will be useful,
Packit Service bf98b9
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service bf98b9
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service bf98b9
 * Lesser General Public License for more details.
Packit Service bf98b9
 *
Packit Service bf98b9
 * You should have received a copy of the GNU Lesser General Public
Packit Service bf98b9
 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
Packit Service bf98b9
 *
Packit Service bf98b9
 * Author:
Packit Service bf98b9
 *   Emmanuele Bassi <ebassi@linux.intel.com>
Packit Service bf98b9
 */
Packit Service bf98b9
Packit Service bf98b9
#ifndef __CLUTTER_PAINT_NODE_PRIVATE_H__
Packit Service bf98b9
#define __CLUTTER_PAINT_NODE_PRIVATE_H__
Packit Service bf98b9
Packit Service bf98b9
#include <glib-object.h>
Packit Service bf98b9
#include <json-glib/json-glib.h>
Packit Service bf98b9
#include <clutter/clutter-paint-node.h>
Packit Service bf98b9
Packit Service bf98b9
G_BEGIN_DECLS
Packit Service bf98b9
Packit Service bf98b9
#define CLUTTER_PAINT_NODE_CLASS(klass)         (G_TYPE_CHECK_CLASS_CAST ((klass), CLUTTER_TYPE_PAINT_NODE, ClutterPaintNodeClass))
Packit Service bf98b9
#define CLUTTER_IS_PAINT_NODE_CLASS(klass)      (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_PAINT_NODE))
Packit Service bf98b9
#define CLUTTER_PAINT_NODE_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_PAINT_NODE, ClutterPaintNodeClass))
Packit Service bf98b9
Packit Service bf98b9
typedef struct _ClutterPaintOperation   ClutterPaintOperation;
Packit Service bf98b9
Packit Service bf98b9
struct _ClutterPaintNode
Packit Service bf98b9
{
Packit Service bf98b9
  GTypeInstance parent_instance;
Packit Service bf98b9
Packit Service bf98b9
  ClutterPaintNode *parent;
Packit Service bf98b9
Packit Service bf98b9
  ClutterPaintNode *first_child;
Packit Service bf98b9
  ClutterPaintNode *prev_sibling;
Packit Service bf98b9
  ClutterPaintNode *next_sibling;
Packit Service bf98b9
  ClutterPaintNode *last_child;
Packit Service bf98b9
Packit Service bf98b9
  guint n_children;
Packit Service bf98b9
Packit Service bf98b9
  GArray *operations;
Packit Service bf98b9
Packit Service bf98b9
  gchar *name;
Packit Service bf98b9
Packit Service bf98b9
  volatile int ref_count;
Packit Service bf98b9
};
Packit Service bf98b9
Packit Service bf98b9
struct _ClutterPaintNodeClass
Packit Service bf98b9
{
Packit Service bf98b9
  GTypeClass base_class;
Packit Service bf98b9
Packit Service bf98b9
  void     (* finalize)  (ClutterPaintNode *node);
Packit Service bf98b9
Packit Service bf98b9
  gboolean (* pre_draw)  (ClutterPaintNode *node);
Packit Service bf98b9
  void     (* draw)      (ClutterPaintNode *node);
Packit Service bf98b9
  void     (* post_draw) (ClutterPaintNode *node);
Packit Service bf98b9
Packit Service bf98b9
  JsonNode*(* serialize) (ClutterPaintNode *node);
Packit Service bf98b9
Packit Service bf98b9
  CoglFramebuffer *(* get_framebuffer) (ClutterPaintNode *node);
Packit Service bf98b9
};
Packit Service bf98b9
Packit Service bf98b9
#define PAINT_OP_INIT   { PAINT_OP_INVALID }
Packit Service bf98b9
Packit Service bf98b9
typedef enum {
Packit Service bf98b9
  PAINT_OP_INVALID = 0,
Packit Service bf98b9
  PAINT_OP_TEX_RECT,
Packit Service bf98b9
  PAINT_OP_PATH,
Packit Service bf98b9
  PAINT_OP_PRIMITIVE
Packit Service bf98b9
} PaintOpCode;
Packit Service bf98b9
Packit Service bf98b9
struct _ClutterPaintOperation
Packit Service bf98b9
{
Packit Service bf98b9
  PaintOpCode opcode;
Packit Service bf98b9
Packit Service bf98b9
  union {
Packit Service bf98b9
    float texrect[8];
Packit Service bf98b9
Packit Service bf98b9
    CoglPath *path;
Packit Service bf98b9
Packit Service bf98b9
    CoglPrimitive *primitive;
Packit Service bf98b9
  } op;
Packit Service bf98b9
};
Packit Service bf98b9
Packit Service bf98b9
GType _clutter_root_node_get_type (void) G_GNUC_CONST;
Packit Service bf98b9
GType _clutter_transform_node_get_type (void) G_GNUC_CONST;
Packit Service bf98b9
GType _clutter_dummy_node_get_type (void) G_GNUC_CONST;
Packit Service bf98b9
Packit Service bf98b9
void                    _clutter_paint_operation_paint_rectangle        (const ClutterPaintOperation *op);
Packit Service bf98b9
void                    _clutter_paint_operation_clip_rectangle         (const ClutterPaintOperation *op);
Packit Service bf98b9
void                    _clutter_paint_operation_paint_path             (const ClutterPaintOperation *op);
Packit Service bf98b9
void                    _clutter_paint_operation_clip_path              (const ClutterPaintOperation *op);
Packit Service bf98b9
void                    _clutter_paint_operation_paint_primitive        (const ClutterPaintOperation *op);
Packit Service bf98b9
Packit Service bf98b9
void                    _clutter_paint_node_init_types                  (void);
Packit Service bf98b9
gpointer                _clutter_paint_node_create                      (GType gtype);
Packit Service bf98b9
Packit Service bf98b9
ClutterPaintNode *      _clutter_root_node_new                          (CoglFramebuffer             *framebuffer,
Packit Service bf98b9
                                                                         const ClutterColor          *clear_color,
Packit Service bf98b9
                                                                         CoglBufferBit                clear_flags);
Packit Service bf98b9
ClutterPaintNode *      _clutter_transform_node_new                     (const CoglMatrix            *matrix);
Packit Service bf98b9
ClutterPaintNode *      _clutter_dummy_node_new                         (ClutterActor                *actor);
Packit Service bf98b9
Packit Service bf98b9
void                    _clutter_paint_node_paint                       (ClutterPaintNode            *root);
Packit Service bf98b9
void                    _clutter_paint_node_dump_tree                   (ClutterPaintNode            *root);
Packit Service bf98b9
Packit Service bf98b9
G_GNUC_INTERNAL
Packit Service bf98b9
void                    clutter_paint_node_remove_child                 (ClutterPaintNode      *node,
Packit Service bf98b9
                                                                         ClutterPaintNode      *child);
Packit Service bf98b9
G_GNUC_INTERNAL
Packit Service bf98b9
void                    clutter_paint_node_replace_child                (ClutterPaintNode      *node,
Packit Service bf98b9
                                                                         ClutterPaintNode      *old_child,
Packit Service bf98b9
                                                                         ClutterPaintNode      *new_child);
Packit Service bf98b9
G_GNUC_INTERNAL
Packit Service bf98b9
void                    clutter_paint_node_remove_all                   (ClutterPaintNode      *node);
Packit Service bf98b9
Packit Service bf98b9
G_GNUC_INTERNAL
Packit Service bf98b9
guint                   clutter_paint_node_get_n_children               (ClutterPaintNode      *node);
Packit Service bf98b9
Packit Service bf98b9
G_GNUC_INTERNAL
Packit Service bf98b9
ClutterPaintNode *      clutter_paint_node_get_first_child              (ClutterPaintNode      *node);
Packit Service bf98b9
G_GNUC_INTERNAL
Packit Service bf98b9
ClutterPaintNode *      clutter_paint_node_get_previous_sibling         (ClutterPaintNode      *node);
Packit Service bf98b9
G_GNUC_INTERNAL
Packit Service bf98b9
ClutterPaintNode *      clutter_paint_node_get_next_sibling             (ClutterPaintNode      *node);
Packit Service bf98b9
G_GNUC_INTERNAL
Packit Service bf98b9
ClutterPaintNode *      clutter_paint_node_get_last_child               (ClutterPaintNode      *node);
Packit Service bf98b9
G_GNUC_INTERNAL
Packit Service bf98b9
ClutterPaintNode *      clutter_paint_node_get_parent                   (ClutterPaintNode      *node);
Packit Service bf98b9
G_GNUC_INTERNAL
Packit Service bf98b9
CoglFramebuffer *       clutter_paint_node_get_framebuffer              (ClutterPaintNode      *node);
Packit Service bf98b9
Packit Service bf98b9
#define CLUTTER_TYPE_LAYER_NODE                 (_clutter_layer_node_get_type ())
Packit Service bf98b9
#define CLUTTER_LAYER_NODE(obj)                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_LAYER_NODE, ClutterLayerNode))
Packit Service bf98b9
#define CLUTTER_IS_LAYER_NODE(obj)              (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_LAYER_NODE))
Packit Service bf98b9
Packit Service bf98b9
/*
Packit Service bf98b9
 * ClutterLayerNode:
Packit Service bf98b9
 *
Packit Service bf98b9
 * The #ClutterLayerNode structure is an opaque
Packit Service bf98b9
 * type whose members cannot be directly accessed.
Packit Service bf98b9
 *
Packit Service bf98b9
 * Since: 1.10
Packit Service bf98b9
 */
Packit Service bf98b9
typedef struct _ClutterLayerNode                ClutterLayerNode;
Packit Service bf98b9
typedef struct _ClutterLayerNodeClass           ClutterLayerNodeClass;
Packit Service bf98b9
Packit Service bf98b9
GType _clutter_layer_node_get_type (void) G_GNUC_CONST;
Packit Service bf98b9
Packit Service bf98b9
ClutterPaintNode *      _clutter_layer_node_new         (const CoglMatrix        *projection,
Packit Service bf98b9
                                                         const cairo_rectangle_t *viewport,
Packit Service bf98b9
                                                         float                    width,
Packit Service bf98b9
                                                         float                    height,
Packit Service bf98b9
                                                         guint8                   opacity);
Packit Service bf98b9
Packit Service bf98b9
Packit Service bf98b9
G_END_DECLS
Packit Service bf98b9
Packit Service bf98b9
#endif /* __CLUTTER_PAINT_NODE_PRIVATE_H__ */