XrdDesktopCursor

XrdDesktopCursor

Functions

Types and Values

Object Hierarchy

    GInterface
    ╰── XrdDesktopCursor

Prerequisites

XrdDesktopCursor requires GObject.

Known Implementations

XrdDesktopCursor is implemented by XrdOverlayDesktopCursor and XrdSceneDesktopCursor.

Includes

#include <xrdesktop.h>

Description

Functions

xrd_desktop_cursor_get_data ()

XrdDesktopCursorData *
xrd_desktop_cursor_get_data (XrdDesktopCursor *self);

xrd_desktop_cursor_get_transformation ()

void
xrd_desktop_cursor_get_transformation (XrdDesktopCursor *self,
                                       graphene_matrix_t *matrix);

xrd_desktop_cursor_hide ()

void
xrd_desktop_cursor_hide (XrdDesktopCursor *self);

xrd_desktop_cursor_init_settings ()

void
xrd_desktop_cursor_init_settings (XrdDesktopCursor *self);

xrd_desktop_cursor_set_transformation ()

void
xrd_desktop_cursor_set_transformation (XrdDesktopCursor *self,
                                       graphene_matrix_t *matrix);

xrd_desktop_cursor_set_width_meters ()

void
xrd_desktop_cursor_set_width_meters (XrdDesktopCursor *self,
                                     float meters);

xrd_desktop_cursor_show ()

void
xrd_desktop_cursor_show (XrdDesktopCursor *self);

xrd_desktop_cursor_submit_texture ()

void
xrd_desktop_cursor_submit_texture (XrdDesktopCursor *self,
                                   GulkanClient *uploader,
                                   GulkanTexture *texture,
                                   int hotspot_x,
                                   int hotspot_y);

xrd_desktop_cursor_update ()

void
xrd_desktop_cursor_update (XrdDesktopCursor *self,
                           XrdWindow *window,
                           graphene_point3d_t *intersection);

xrd_desktop_cursor_update_apparent_size ()

void
xrd_desktop_cursor_update_apparent_size
                               (XrdDesktopCursor *self,
                                graphene_point3d_t *cursor_point);

Types and Values

XrdDesktopCursor

typedef struct _XrdDesktopCursor XrdDesktopCursor;

struct XrdDesktopCursorInterface

struct XrdDesktopCursorInterface {
  GTypeInterface parent;

  void
  (*submit_texture) (XrdDesktopCursor *self,
                     GulkanClient     *uploader,
                     GulkanTexture    *texture,
                     int               hotspot_x,
                     int               hotspot_y);

  void
  (*show) (XrdDesktopCursor *self);

  void
  (*hide) (XrdDesktopCursor *self);

  void
  (*set_width_meters) (XrdDesktopCursor *self, float meters);

  XrdDesktopCursorData*
  (*get_data) (XrdDesktopCursor *self);

  void
  (*get_transformation) (XrdDesktopCursor  *self,
                         graphene_matrix_t *matrix);

  void
  (*set_transformation) (XrdDesktopCursor  *self,
                         graphene_matrix_t *matrix);
};

XrdDesktopCursorData

typedef struct {
  XrdDesktopCursor *cursor;

  gboolean keep_apparent_size;
  /* setting, either absolute size or the apparent size in 3 meter distance */
  float width_meters;

  /* cached values set by apparent size and used in hotspot calculation */
  float cached_width_meters;

  int hotspot_x;
  int hotspot_y;

  uint32_t texture_width;
  uint32_t texture_height;
} XrdDesktopCursorData;

XRD_TYPE_DESKTOP_CURSOR

#define XRD_TYPE_DESKTOP_CURSOR xrd_desktop_cursor_get_type()