gimp/plug-ins/gradient-flare
Jehan 231ca0c505 Issue #9994: do not call g_file_info_get_is_hidden() (and others) directly.
This is not the main reason for the specific output in #9994. These ones are
more probably because of similar usage in GTK (which updated its own calls to
g_file_info_get_is_hidden|backup() in version 3.24.38). But we should likely
also update the various calls we have to use the generic
g_file_info_get_attribute_*() variants.

To be fair, it is unclear to me when we can be sure that an attribute is set.
For instance, when we call g_file_enumerate_children() or g_file_query_info()
with specific attributes, docs say that it is still possible for these
attributes to not be set. So I assume it means we should never use direct
accessor functions.

The only exception is that I didn't remove usage of g_file_info_get_name(),
since its docs says:

> * Gets a display name for a file. This is guaranteed to always be set.

Even though it also says just after:

> * It is an error to call this if the #GFileInfo does not contain
> * %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME.

Which is very contradictory. But assuming that this error warning was
over-zealous documentation, I kept the direct accessors since they are supposed
to be slightly more optimized (still according to in-code documentation) so
let's priorize them when we know they are set for sure.
2023-09-19 15:34:48 +02:00
..
flares Remove autotools 2023-05-27 00:03:52 +02:00
README Renamed folders in plug-ins/. Unfortunately it's impossible to rename the 2008-03-24 16:36:03 +00:00
gradient-flare.c Issue #9994: do not call g_file_info_get_is_hidden() (and others) directly. 2023-09-19 15:34:48 +02:00
meson.build meson: fix warnings of deprecated features. 2022-08-31 01:29:37 +02:00

README

==========================================================================

	GFlare plug-in ver 0.25

		Eiichi Takamori <taka@ma1.seikyou.ne.jp>

==========================================================================

  GFlare is a plug-in for GIMP.  The name "GFlare" is short for
"Gradient Flare".  It renders lense flare effect using custom
gradients.  The basic idea is suggested by Marcelo Malheiros,
originally based on a 3DStudio MAX plug-in called LenZFX:
	http://www.digimation.com/techsupp/lzfxfeat.htm

INSTALL:

1) Edit Makefile, if needed.

2) Type "make install".

3) Type "make install-data" if needed. (It copies sample gradients and
   gflares under ~/.gimp)

3) Add new entry to ~/.gimp/gimprc as
     (gflare-path "${gimp_dir}/gflares:${gimp_data_dir}/gflares")

3) Run GIMP. The menu path is <Image>/Filters/Effects/GFlare.


HOW TO USE IT:

  The document is not yet done. Try and see.

  Main Dialog:
  - Preview
      click on it changes the position of GFlare
  - Settings page
    - Center, Radius (pixel), Rotation (degree), Hue Rotation (degree)
    - Vector Angle (degree) and Vector Length (percentage to Radius)
    - adaptive supersampling ... same as "Blend tool"
  - Selector page
    - ListBox
    - New, Edit, Copy, Delete buttons. Edit button invokes GFlare Editor.

  GFlare Editor:
  - General page:
  - Glow page:
  - Rays page:
  - Second Flares page:     

  WARNING: This plug-in is in development stage, and the code is very
alpha. The GFlare datafile format may be changed in future version.

  Suggestions and ideas for user interface, flare algorithm, etc. are
very welcome.


KNOWN BUGS:

  There are still lots of bugs, of course. ;-)
  They seem related to GTK, and I don't know exactly how I can fix them.

  * It warns at startup as:
    ** WARNING **: file gdkwindow.c: line 422 (gdk_window_move_resize): "window != NULL"
    If you are annoyed, accompanying "gtkviewport.c.patch" will shut up
    the warning.
  * Edit button remains prelighted when GFlare Editor dialog is done.
  * Dialogs are not shown quickly at startup.
  * Sometimes note tab labels are disappeared.
  * Sometimes it crashes, but I don't know yet why it happens.

TODO:
  * Random hue scattering for Second Flares.
  * Improve internal gradients.
  * Currently number of Second Flares is fixed(30).
  * Change opacity for one second flare dynamically, in inverse
    proportion to the size of it.
  * Reduce dialog size
  * Add tweak ability "How to combine Glow, Rays, Second Flares in
    what order"


CREDITS:

  Marcelo Marheiros and Federico Mena Quintero suggested a lot of
ideas. Very Thanks!!

  Marcelo made gradients whose names end with _1, _2, etc. The
gradients whose names end with _101, _102 etc. are mine.

  Quartic did awful Gradient Editor, and gradients PDB procedures.

  A fair proportion of this code was taken from:

  GIMP - The GNU Image Manipulation Program
  Copyright (C) 1995 Spencer Kimball and Peter Mattis

  Gradient editor module copyight (C) 1996-1997 Federico Mena Quintero
  federico@nuclecu.unam.mx