/* LIBPIKA - The PIKA Library * Copyright (C) 1995-2000 Peter Mattis and Spencer Kimball * * pikaselection.c * * 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 3 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 * . */ #include "config.h" #include "pika.h" struct _PikaSelection { PikaChannel parent_instance; }; G_DEFINE_TYPE (PikaSelection, pika_selection, PIKA_TYPE_CHANNEL) #define parent_class pika_selection_parent_class static void pika_selection_class_init (PikaSelectionClass *klass) { } static void pika_selection_init (PikaSelection *selection) { } /** * pika_selection_get_by_id: * @selection_id: The selection id. * * Returns a #PikaSelection representing @selection_id. This function * calls pika_item_get_by_id() and returns the item if it is selection * or %NULL otherwise. * * Returns: (nullable) (transfer none): a #PikaSelection for * @selection_id or %NULL if @selection_id does not represent * a valid selection. The object belongs to libpika and you * must not modify or unref it. * * Since: 3.0 **/ PikaSelection * pika_selection_get_by_id (gint32 selection_id) { PikaItem *item = pika_item_get_by_id (selection_id); if (PIKA_IS_SELECTION (item)) return (PikaSelection *) item; return NULL; } /** * pika_selection_float: * @image: ignored * @n_drawables: Size of @drawables. * @drawables: (array length=n_drawables): The drawables from which to * float selection. * @offx: x offset for translation. * @offy: y offset for translation. * * Float the selection from the specified drawable with initial offsets * as specified. * * This procedure determines the region of the specified drawable that * lies beneath the current selection. The region is then cut from the * drawable and the resulting data is made into a new layer which is * instantiated as a floating selection. The offsets allow initial * positioning of the new floating selection. * * Returns: (transfer none): The floated layer. */ PikaLayer * pika_selection_float (PikaImage *image, gint n_drawables, PikaDrawable **drawables, gint offx, gint offy) { return _pika_selection_float (n_drawables, (const PikaItem **) drawables, offx, offy); }