示例#1
0
static void
gegl_op_class_init (GeglOpClass *klass)
{
  GeglOperationClass *operation_class = GEGL_OPERATION_CLASS (klass);

  operation_class->attach = attach;

  gegl_operation_class_set_keys (operation_class,
    "name",        "gegl:dropshadow",
    "categories",  "light",
    "title",       _("Dropshadow"),
    "description",
    _("Creates a dropshadow effect on the input buffer"),
    NULL);
}
示例#2
0
static void
gimp_operation_cage_transform_class_init (GimpOperationCageTransformClass *klass)
{
  GObjectClass               *object_class    = G_OBJECT_CLASS (klass);
  GeglOperationClass         *operation_class = GEGL_OPERATION_CLASS (klass);
  GeglOperationComposerClass *filter_class    = GEGL_OPERATION_COMPOSER_CLASS (klass);

  object_class->get_property               = gimp_operation_cage_transform_get_property;
  object_class->set_property               = gimp_operation_cage_transform_set_property;
  object_class->finalize                   = gimp_operation_cage_transform_finalize;

  gegl_operation_class_set_keys (operation_class,
           "name"                   , "gimp:cage-transform",
           "categories"             , "transform",
           "description"            , _("Convert a set of coefficient buffer to a coordinate buffer for the GIMP cage tool"),
           NULL);

  operation_class->prepare                 = gimp_operation_cage_transform_prepare;

  operation_class->get_required_for_output = gimp_operation_cage_transform_get_required_for_output;
  operation_class->get_cached_region       = gimp_operation_cage_transform_get_cached_region;
  operation_class->no_cache                = FALSE;
  operation_class->get_bounding_box        = gimp_operation_cage_transform_get_bounding_box;

  filter_class->process                    = gimp_operation_cage_transform_process;

  g_object_class_install_property (object_class, PROP_CONFIG,
                                   g_param_spec_object ("config",
                                                        "Config",
                                                        "A GimpCageConfig object, that define the transformation",
                                                        GIMP_TYPE_CAGE_CONFIG,
                                                        G_PARAM_READWRITE |
                                                        G_PARAM_CONSTRUCT));

  g_object_class_install_property (object_class, PROP_FILL,
                                   g_param_spec_boolean ("fill-plain-color",
                                                         _("Fill with plain color"),
                                                         _("Fill the original position of the cage with a plain color"),
                                                         FALSE,
                                                         G_PARAM_READWRITE));

  g_object_class_install_property (object_class, PROP_PROGRESS,
                                   g_param_spec_double ("progress",
                                                        "Progress",
                                                        "Progress indicator, and a bad hack",
                                                        0.0, 1.0, 0.0,
                                                        G_PARAM_READABLE));
}
示例#3
0
static void
gegl_chant_class_init (GeglChantClass *klass)
{
  GeglOperationClass *operation_class;

  operation_class = GEGL_OPERATION_CLASS (klass);
  operation_class->attach = attach;

  gegl_operation_class_set_keys (operation_class,
  "name"       , "gegl:unsharp-mask",
  "categories" , "meta:enhance",
  "description",
        _("Performs an unsharp mask on the input buffer (sharpens an image by "
          "adding false mach-bands around edges)"),
        NULL);
}
示例#4
0
文件: nop.c 项目: OpenCL/GEGL-OpenCL
static void
gegl_op_class_init (GeglOpClass *klass)
{
  GeglOperationClass *operation_class;

  operation_class = GEGL_OPERATION_CLASS (klass);
  operation_class->process = gegl_nop_process;
  operation_class->prepare = gegl_nop_prepare;

  gegl_operation_class_set_keys (operation_class,
              "name",        "gegl:nop",
              "title",       _("No Operation"),
              "categories",  "core",
              "description", _("No operation (can be used as a routing point)"),
              NULL);
}
示例#5
0
static void
gegl_op_class_init (GeglOpClass *klass)
{
    GeglOperationClass *operation_class = GEGL_OPERATION_CLASS (klass);

    operation_class->attach = attach;

    gegl_operation_class_set_keys (operation_class,
                                   "name",               "gegl:rectangle",
                                   "title",              _("Rectangle"),
                                   "categories",         "render",
                                   "position-dependent", "true",
                                   "description",
                                   _("A rectangular source of a fixed size with a solid color"),
                                   NULL);
}
示例#6
0
static void
gegl_chant_class_init (GeglChantClass *klass)
{
  GeglOperationClass *operation_class;

  operation_class = GEGL_OPERATION_CLASS (klass);

  operation_class->attach = attach;

  gegl_operation_class_set_keys (operation_class,
                                 "name",        "gegl:high-pass",
                                 "categories",  "meta:enhance",
                                 "description",
                                 _("Enhances fine details."),
                                 NULL);
}
示例#7
0
static void
gimp_operation_screen_mode_class_init (GimpOperationScreenModeClass *klass)
{
  GeglOperationClass              *operation_class;
  GeglOperationPointComposerClass *point_class;

  operation_class = GEGL_OPERATION_CLASS (klass);
  point_class     = GEGL_OPERATION_POINT_COMPOSER_CLASS (klass);

  gegl_operation_class_set_keys (operation_class,
           "name"       , "gimp:screen-mode",
           "description", "GIMP screen mode operation",
           NULL);

  point_class->process         = gimp_operation_screen_mode_process;
}
示例#8
0
static void
gimp_operation_value_mode_class_init (GimpOperationValueModeClass *klass)
{
  GeglOperationClass               *operation_class;
  GeglOperationPointComposer3Class *point_class;

  operation_class = GEGL_OPERATION_CLASS (klass);
  point_class     = GEGL_OPERATION_POINT_COMPOSER3_CLASS (klass);

  gegl_operation_class_set_keys (operation_class,
                                 "name",        "gimp:value-mode",
                                 "description", "GIMP value mode operation",
                                 NULL);

  point_class->process = gimp_operation_value_mode_process;
}
static void
gimp_operation_lighten_only_mode_class_init (GimpOperationLightenOnlyModeClass *klass)
{
  GeglOperationClass               *operation_class;
  GeglOperationPointComposer3Class *point_class;

  operation_class = GEGL_OPERATION_CLASS (klass);
  point_class     = GEGL_OPERATION_POINT_COMPOSER3_CLASS (klass);

  gegl_operation_class_set_keys (operation_class,
                                 "name",        "gimp:lighten-only-mode",
                                 "description", "GIMP lighten only mode operation",
                                 NULL);

  point_class->process = gimp_operation_lighten_only_mode_process;
}
示例#10
0
static void
gimp_operation_color_erase_mode_class_init (GimpOperationColorEraseModeClass *klass)
{
  GeglOperationClass              *operation_class;
  GeglOperationPointComposerClass *point_class;

  operation_class = GEGL_OPERATION_CLASS (klass);
  point_class     = GEGL_OPERATION_POINT_COMPOSER_CLASS (klass);

  gegl_operation_class_set_keys (operation_class,
           "name"       , "gimp:color-erase-mode",
           "description", "GIMP color erase mode operation",
           NULL);

  point_class->process         = gimp_operation_color_erase_mode_process;
}
示例#11
0
static void
gegl_op_class_init (GeglOpClass *klass)
{
  GeglOperationClass            *operation_class;
  GeglOperationPointFilterClass *filter_class;
  gchar                         *composition =
    "<?xml version='1.0' encoding='UTF-8'?>"
    "<gegl>"
    "<node operation='svg:dst-over'>"
    "  <node operation='gegl:crop'>"
    "    <params>"
    "      <param name='width'>200.0</param>"
    "      <param name='height'>200.0</param>"
    "    </params>"
    "  </node>"
    "  <node operation='gegl:checkerboard'>"
    "    <params><param name='color1'>rgb(0.5, 0.5, 0.5)</param></params>"
    "  </node>"
    "</node>"
    "<node operation='gegl:color-to-alpha'>"
    "</node>"
    "<node operation='gegl:load'>"
    "  <params>"
    "    <param name='path'>standard-input.png</param>"
    "  </params>"
    "</node>"
    "</gegl>";

  operation_class = GEGL_OPERATION_CLASS (klass);
  filter_class    = GEGL_OPERATION_POINT_FILTER_CLASS (klass);

  filter_class->process    = process;
  filter_class->cl_process = cl_process;

  operation_class->prepare = prepare;
  operation_class->opencl_support = TRUE;

  gegl_operation_class_set_keys (operation_class,
    "name",        "gegl:color-to-alpha",
    "title",       _("Color to Alpha"),
    "categories",  "color",
    "license",     "GPL3+",
    "reference-hash", "f110613097308e0fe96ac29f54ca4c2e",
    "description", _("Convert a specified color to transparency, works best with white."),
    "reference-composition", composition,
    NULL);
}
示例#12
0
static void
gegl_chant_class_init (GeglChantClass *klass)
{
  GeglOperationClass *operation_class;

  operation_class = GEGL_OPERATION_CLASS (klass);
  operation_class->process = process;
  operation_class->get_bounding_box = get_bounding_box;
  operation_class->detect = detect;
  operation_class->no_cache = TRUE;

  gegl_operation_class_set_keys (operation_class,
       "name",          "gegl:clone",
       "description",   _("Clone a buffer"),
       "categories",    "core",
       NULL);
}
示例#13
0
static void
gegl_chant_class_init (GeglChantClass *klass)
{
  GeglOperationClass            *operation_class;
  GeglOperationPointFilterClass *point_filter_class;

  operation_class    = GEGL_OPERATION_CLASS (klass);
  point_filter_class = GEGL_OPERATION_POINT_FILTER_CLASS (klass);

  point_filter_class->process = process;

  gegl_operation_class_set_keys (operation_class,
    "name"        , "gegl:unpremul",
    "categories"  , "color",
    "description" , "Unpremultiplies a buffer that contains pre-multiplied colors (but is marked as not having it)",
    NULL);
}
示例#14
0
static void
gegl_op_class_init (GeglOpClass *klass)
{
  GeglOperationClass *operation_class;

  operation_class = GEGL_OPERATION_CLASS (klass);

  operation_class->attach = attach;

  gegl_operation_class_set_keys (operation_class,
                                 "name",        "gegl:high-pass",
                                 "title",       _("High Pass Filter"),
                                 "categories",  "frequency",
                                 "description",
                                 _("Enhances fine details."),
                                 NULL);
}
static void
gimp_operation_anti_erase_mode_class_init (GimpOperationAntiEraseModeClass *klass)
{
  GeglOperationClass               *operation_class;
  GeglOperationPointComposer3Class *point_class;

  operation_class = GEGL_OPERATION_CLASS (klass);
  point_class     = GEGL_OPERATION_POINT_COMPOSER3_CLASS (klass);

  gegl_operation_class_set_keys (operation_class,
                                 "name",        "gimp:anti-erase-mode",
                                 "description", "GIMP anti erase mode operation",
                                 NULL);

  operation_class->prepare = gimp_operation_anti_erase_mode_prepare;
  point_class->process     = gimp_operation_anti_erase_mode_process;
}
static void
gimp_operation_hardlight_mode_class_init (GimpOperationHardlightModeClass *klass)
{
  GeglOperationClass               *operation_class;
  GeglOperationPointComposer3Class *point_class;

  operation_class = GEGL_OPERATION_CLASS (klass);
  point_class     = GEGL_OPERATION_POINT_COMPOSER3_CLASS (klass);

  gegl_operation_class_set_keys (operation_class,
                                 "name",        "gimp:hardlight-mode",
                                 "description", "GIMP hardlight mode operation",
                                 NULL);

  operation_class->prepare = gimp_operation_hardlight_mode_prepare;
  point_class->process     = gimp_operation_hardlight_mode_process;
}
示例#17
0
static void
gegl_op_class_init (GeglOpClass *klass)
{
  GeglOperationClass *operation_class;

  operation_class = GEGL_OPERATION_CLASS (klass);

  operation_class->attach = attach;

  gegl_operation_class_set_keys (operation_class,
    "name",        "gegl:unsharp-mask",
    "title",       _("Unsharp Mask"),
    "categories",  "enhance:sharpen",
    "reference-hash", "5f94a8d1b946c82b1f066f50b9648a5a",
    "description", _("Sharpen image, by adding difference to blurred image, a technique for sharpening originally used in darkrooms."),
    NULL);
}
static void
gimp_operation_grain_merge_mode_class_init (GimpOperationGrainMergeModeClass *klass)
{
  GeglOperationClass               *operation_class;
  GeglOperationPointComposer3Class *point_class;

  operation_class = GEGL_OPERATION_CLASS (klass);
  point_class     = GEGL_OPERATION_POINT_COMPOSER3_CLASS (klass);

  gegl_operation_class_set_keys (operation_class,
                                 "name",        "gimp:grain-merge-mode",
                                 "description", "GIMP grain merge mode operation",
                                 NULL);

  operation_class->prepare = gimp_operation_grain_merge_mode_prepare;
  point_class->process     = gimp_operation_grain_merge_mode_process;
}
示例#19
0
static void
gegl_op_class_init (GeglOpClass *klass)
{
  GeglOperationClass *operation_class = GEGL_OPERATION_CLASS (klass);

  operation_class->prepare  = prepare;
  operation_class->process  = process;
  operation_class->no_cache = FALSE;

  gegl_operation_class_set_keys (operation_class,
    "name",       "gegl:cast-format",
    "title",      _("Cast Format"),
    "categories", "core:color",
    "description", _("Cast the data between input_format and output_format, "
                     "both bormats must have the same bpp"),
    NULL);
}
示例#20
0
static void
gegl_chant_class_init (GeglChantClass *klass)
{
  GObjectClass               *object_class    = G_OBJECT_CLASS (klass);
  GeglOperationClass         *operation_class = GEGL_OPERATION_CLASS (klass);
  GeglOperationFilterClass   *filter_class    = GEGL_OPERATION_FILTER_CLASS (klass);

  object_class->finalize = finalize;
  operation_class->prepare = prepare;
  filter_class->process = process;

  gegl_operation_class_set_keys (operation_class,
  "name"       , "gegl:warp",
  "categories"  , "transform",
  "description" , _("Compute a relative displacement mapping from a stroke"),
  NULL);
}
示例#21
0
static void
gegl_chant_class_init (GeglChantClass *klass)
{
  GeglOperationClass            *operation_class;
  GeglOperationPointFilterClass *point_filter_class;

  operation_class    = GEGL_OPERATION_CLASS (klass);
  point_filter_class = GEGL_OPERATION_POINT_FILTER_CLASS (klass);

  operation_class->prepare = prepare;
  point_filter_class->process = process;

  gegl_operation_class_set_keys (operation_class,
    "name"        , "gegl:max-rgb",
    "categories"  , "color",
    "description" , _("Reduce image to pure red, green, and blue"),
    NULL);
}
static void
gimp_operation_lch_chroma_mode_class_init (GimpOperationLchChromaModeClass *klass)
{
  GeglOperationClass               *operation_class;
  GeglOperationPointComposer3Class *point_class;

  operation_class = GEGL_OPERATION_CLASS (klass);
  point_class     = GEGL_OPERATION_POINT_COMPOSER3_CLASS (klass);

  operation_class->want_in_place = FALSE;

  gegl_operation_class_set_keys (operation_class,
                                 "name",        "gimp:lch-chroma-mode",
                                 "description", "GIMP LCH chroma mode operation",
                                 NULL);

  point_class->process = gimp_operation_lch_chroma_mode_process;
}
示例#23
0
static void
gegl_chant_class_init (GeglChantClass *klass)
{
  GeglOperationClass            *operation_class;
  GeglOperationPointFilterClass *point_filter_class;

  operation_class    = GEGL_OPERATION_CLASS (klass);
  point_filter_class = GEGL_OPERATION_POINT_FILTER_CLASS (klass);

  operation_class->prepare    = prepare;
  point_filter_class->process = process;

  gegl_operation_class_set_keys (operation_class,
    "name",        "gegl:noise-cie-lch",
    "categories",  "noise",
    "description", _("Randomize lightness, chroma and hue independently"),
    NULL);
}
示例#24
0
static void
gegl_op_class_init (GeglOpClass *klass)
{
  GeglOperationClass       *operation_class;
  GeglOperationFilterClass *filter_class;

  operation_class = GEGL_OPERATION_CLASS (klass);
  filter_class    = GEGL_OPERATION_FILTER_CLASS (klass);

  filter_class->process = process;
  operation_class->prepare = prepare;

  gegl_operation_class_set_keys (operation_class,
    "name"    , "gegl:kuwahara",
    "categories"  , "misc",
    "description" , _("Edge preserving blur"),
    NULL);
}
static void
gimp_operation_softlight_mode_class_init (GimpOperationSoftlightModeClass *klass)
{
  GeglOperationClass               *operation_class;
  GeglOperationPointComposer3Class *point_class;

  operation_class = GEGL_OPERATION_CLASS (klass);
  point_class     = GEGL_OPERATION_POINT_COMPOSER3_CLASS (klass);

  gegl_operation_class_set_keys (operation_class,
                                 "name",        "gimp:softlight-mode",
                                 "description", "GIMP softlight mode operation",
                                 "reference-image", "soft-light-mode.png",
                                 "reference-composition", reference_xml,
                                 NULL);

  point_class->process = gimp_operation_softlight_mode_process;
}
示例#26
0
static void
gegl_op_class_init (GeglOpClass *klass)
{
  GeglOperationClass            *operation_class;
  GeglOperationPointFilterClass *filter_class;

  operation_class = GEGL_OPERATION_CLASS (klass);
  filter_class    = GEGL_OPERATION_POINT_FILTER_CLASS (klass);

  operation_class->prepare = prepare;
  filter_class->process    = process;

  gegl_operation_class_set_keys (operation_class,
    "categories",   "color",
    "name",         "gegl:color-rotate",
    "description",  _("Replace a range of colors with another"),
    NULL);
}
示例#27
0
static void
gegl_chant_class_init (GeglChantClass *klass)
{
  GeglOperationClass       *operation_class;
  GeglOperationFilterClass *filter_class;

  operation_class = GEGL_OPERATION_CLASS (klass);
  filter_class    = GEGL_OPERATION_FILTER_CLASS (klass);

  filter_class->process    = process;
  operation_class->prepare = prepare;

  gegl_operation_class_set_keys (operation_class,
    "categories" , "distort",
    "name"       , "gegl:ripple",
    "description", _("Transform the buffer with a ripple pattern"),
    NULL);
}
示例#28
0
static void
gegl_chant_class_init (GeglChantClass *klass)
{
  GeglOperationClass            *operation_class;
  GeglOperationPointFilterClass *point_filter_class;

  operation_class    = GEGL_OPERATION_CLASS (klass);
  point_filter_class = GEGL_OPERATION_POINT_FILTER_CLASS (klass);

  operation_class->prepare = prepare;
  point_filter_class->process = process;

  gegl_operation_class_set_keys (operation_class,
    "name"        , "gegl:color-exchange",
    "categories"  , "colors/map",
    "description" , _("Exchanges one color with another."),
    NULL);
}
示例#29
0
static void
gegl_chant_class_init (GeglChantClass *klass)
{
  GeglOperationClass       *operation_class;
  GeglOperationFilterClass *filter_class;

  operation_class = GEGL_OPERATION_CLASS (klass);
  filter_class    = GEGL_OPERATION_FILTER_CLASS (klass);

  operation_class->prepare = prepare;
  filter_class->process    = process;

  gegl_operation_class_set_keys (operation_class,
    "name",        "gegl:waves",
    "categories",  "distort",
    "description", _("Distort the image with waves"),
    NULL);
}
示例#30
0
static void
gegl_chant_class_init (GeglChantClass *klass)
{
  GeglOperationClass       *operation_class;
  GeglOperationFilterClass *filter_class;

  operation_class = GEGL_OPERATION_CLASS (klass);
  filter_class    = GEGL_OPERATION_FILTER_CLASS (klass);

  filter_class->process    = process;
  operation_class->prepare = prepare;

  gegl_operation_class_set_keys (operation_class,
    "categories" , "distort",
    "name"       , "gegl:emboss",
    "description", _("Simulates an image created by embossing"),
    NULL);
}