Example #1
0
Cursor::Cursor(GdkCursor* c)
    : m_impl(c)
{
    m_impl = c;
    ASSERT(c);
    gdk_cursor_ref(c);
}
Example #2
0
Cursor& Cursor::operator=(const Cursor& other)
{
    gdk_cursor_ref(other.m_impl);
    gdk_cursor_unref(m_impl);
    m_impl = other.m_impl;
    return *this;
}
QCursor::QCursor(const QCursor &other)
    : cursor(other.cursor)
{
    if (cursor)
	gdk_cursor_ref(cursor);

}
QCursor &QCursor::operator=(const QCursor &other)
{
    if (other.cursor) 
	gdk_cursor_ref(other.cursor);
    if (cursor) 
	gdk_cursor_unref(cursor);

    cursor = other.cursor;
    return *this;
}
Example #5
0
/**
 * gwy_vector_layer_cursor_new_or_ref:
 * @cursor: A Gdk cursor, or %NULL.
 * @type: Cursor type to eventually create.
 *
 * Increments reference count of a given Gdk cursor or creates a new one
 * (if @cursor is NULL) of type @cursor_type.
 *
 * This function is intended only for layer implementation.
 **/
void
gwy_vector_layer_cursor_new_or_ref(GdkCursor **cursor,
                                   GdkCursorType type)
{
    g_return_if_fail(cursor);

    if (*cursor)
        gdk_cursor_ref(*cursor);
    else
        *cursor = gdk_cursor_new(type);
}
Example #6
0
GdkGrabStatus
gdk_directfb_pointer_grab (GdkWindow    *window,
                           gint          owner_events,
                           GdkEventMask  event_mask,
                           GdkWindow    *confine_to,
                           GdkCursor    *cursor,
                           guint32       time,
                           gboolean      implicit_grab)
{
  GdkWindow             *toplevel;
  GdkWindowImplDirectFB *impl;

  if (_gdk_directfb_pointer_grab_window)
    {
      if (implicit_grab && !_gdk_directfb_pointer_implicit_grab)
        return GDK_GRAB_ALREADY_GRABBED;

      gdk_pointer_ungrab (time);
    }

  toplevel = gdk_directfb_window_find_toplevel (window);
  impl = GDK_WINDOW_IMPL_DIRECTFB (GDK_WINDOW_OBJECT (toplevel)->impl);

  if (impl->window)
    {
      if (impl->window->GrabPointer (impl->window) == DFB_LOCKED)
        return GDK_GRAB_ALREADY_GRABBED;
    }

  if (event_mask & GDK_BUTTON_MOTION_MASK)
    event_mask |= (GDK_BUTTON1_MOTION_MASK |
                   GDK_BUTTON2_MOTION_MASK |
                   GDK_BUTTON3_MOTION_MASK);

  _gdk_directfb_pointer_implicit_grab     = implicit_grab;
  _gdk_directfb_pointer_grab_window       = g_object_ref (window);
  _gdk_directfb_pointer_grab_owner_events = owner_events;

  _gdk_directfb_pointer_grab_confine      = (confine_to ?
                                             g_object_ref (confine_to) : NULL);
  _gdk_directfb_pointer_grab_events       = event_mask;
  _gdk_directfb_pointer_grab_cursor       = (cursor ?
                                             gdk_cursor_ref (cursor) : NULL);


  gdk_directfb_window_send_crossing_events (NULL,
                                            window,
                                            GDK_CROSSING_GRAB);

  return GDK_GRAB_SUCCESS;
}
Example #7
0
void Cursor::incref() const
{
    if ( m_obj )
        gdk_cursor_ref( (GdkCursor*) m_obj );
}
Example #8
0
Cursor::Cursor(const Cursor& other)
    : m_impl(other.m_impl)
{
    if (m_impl)
        gdk_cursor_ref(m_impl);
}