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 <xrd.h>

Description

Functions

xrd_desktop_cursor_submit_texture ()

void
xrd_desktop_cursor_submit_texture (XrdDesktopCursor *self);

Submits current texture.

Parameters

self

The XrdDesktopCursor

 

xrd_desktop_cursor_set_and_submit_texture ()

void
xrd_desktop_cursor_set_and_submit_texture
                               (XrdDesktopCursor *self,
                                GulkanTexture *texture);

Sets and submits a texture.

Parameters

self

The XrdDesktopCursor

 

texture

A GulkanTexture that this XrdDesktopCursor will own.

 

xrd_desktop_cursor_set_hotspot ()

void
xrd_desktop_cursor_set_hotspot (XrdDesktopCursor *self,
                                int hotspot_x,
                                int hotspot_y);

A hotspot of (x, y) means that the hotspot is at x pixels right, y pixels down from the top left corner of the texture.

Parameters

self

The XrdDesktopCursor

 

hotspot_x

The x component of the hotspot.

 

hotspot_y

The y component of the hotspot.

 

xrd_desktop_cursor_get_texture ()

GulkanTexture *
xrd_desktop_cursor_get_texture (XrdDesktopCursor *self);

xrd_desktop_cursor_update ()

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

xrd_desktop_cursor_show ()

void
xrd_desktop_cursor_show (XrdDesktopCursor *self);

xrd_desktop_cursor_hide ()

void
xrd_desktop_cursor_hide (XrdDesktopCursor *self);

xrd_desktop_cursor_set_width_meters ()

void
xrd_desktop_cursor_set_width_meters (XrdDesktopCursor *self,
                                     float meters);

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_set_transformation ()

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

xrd_desktop_cursor_init_settings ()

void
xrd_desktop_cursor_init_settings (XrdDesktopCursor *self);

Types and Values

XRD_TYPE_DESKTOP_CURSOR

#define XRD_TYPE_DESKTOP_CURSOR xrd_desktop_cursor_get_type()

XrdDesktopCursorData

typedef struct {
  XrdDesktopCursor *cursor;

  GxrContext *context;

  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;

struct XrdDesktopCursorInterface

struct XrdDesktopCursorInterface {
  GTypeInterface parent;

  void
  (*submit_texture) (XrdDesktopCursor *self);

  void
  (*set_and_submit_texture) (XrdDesktopCursor *self,
                             GulkanTexture    *texture);

  GulkanTexture *
  (*get_texture) (XrdDesktopCursor *self);

  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);
};

XrdDesktopCursor

typedef struct _XrdDesktopCursor XrdDesktopCursor;