1
1
mirror of https://gitlab.gnome.org/GNOME/gimp.git synced 2025-10-06 01:12:40 +02:00
Jehan 32310f5e4b libgimp: use G_DECLARE_DERIVABLE_TYPE and G_DECLARE_FINAL_TYPE for…
… the public API.

This was initially proposed by Niels De Graef in !101, and though I
still think this is much less practical for day-to-day development, it
is actually much nicer for the public part of the API. So let's use
these only in public libgimp* API only, not in core.

I actually already started to use these for some of the libgimpwidgets
classes and am now moving libgimp main classes to these macros.

* It doesn't expose the priv member (which is completely useless for
  plug-in developers, only to be used for core development).
* It forces us to never have any variable members in the public API
  (which we were doing fine so far in newest API, but it's nice to be
  enforced with these macros).
* When using G_DECLARE_FINAL_TYPE in particular, it adds flexibility as
  we can change the structure size and the members order as these are
  not exposed. And if some day, we make the class derivable with some
  signals to handle, only then will we expose the class with some
  _gimp_reserved* padding (instead of from the start when none is
  needed). Therefore we will allow for further extension far in the
  future.

Moreover most of these libgimp classes were so far not using any private
values, so we were declaring a `priv` member with a bogus contents just
"in case we needed it in future" (as we couldn't change the struct
size). So even the easiness of having a priv member was very relative
for this public API so far (unlike in core code where we actually have
much more complex interactions and using priv data all the time).
2021-04-06 13:02:03 +02:00
2021-02-24 12:33:03 +01:00
2020-05-04 02:11:57 +02:00
2020-05-21 16:02:55 +02:00
2019-09-11 16:42:04 +02:00
2021-02-24 12:33:03 +01:00
2020-05-26 17:52:52 +00:00
2021-03-29 22:52:21 +02:00
2021-04-03 10:00:06 +00:00
2021-04-06 06:36:25 +00:00
2021-04-05 07:40:34 +00:00
2021-01-21 22:07:45 +01:00
2019-09-11 16:42:04 +02:00
2020-05-26 17:52:52 +00:00
2020-12-22 23:39:07 +01:00
2011-01-28 07:55:55 +01:00
2020-12-22 23:39:07 +01:00
2019-08-06 13:46:53 +00:00
2004-05-10 17:45:17 +00:00
2004-05-20 02:36:11 +00:00
2018-07-14 14:19:27 +02:00
2018-05-25 21:55:45 +02:00
2021-02-24 12:33:03 +01:00
2018-05-12 23:44:47 +02:00
2021-04-04 16:01:48 +02:00
2019-09-11 16:42:04 +02:00
2021-04-06 02:07:35 +02:00
2018-10-19 15:30:27 +00:00
2018-10-19 15:30:27 +00:00
2018-10-19 15:30:27 +00:00
2018-10-19 15:30:27 +00:00
2018-10-19 15:30:27 +00:00
2019-12-13 17:03:16 +00:00

                   ------------------------------
                   GNU Image Manipulation Program
                      2.99 Development Branch
                   ------------------------------

This is an unstable development release, an intermediate state on the
way to the next stable release: GIMP 3. GIMP 2.99 may or may not do what
you expect. Save your work early and often. If you want a stable
version, please use GIMP 2.10 instead.

If you think you found a bug in this version, please make sure that it
hasn't been reported earlier and that it is not just new stuff that is
still being worked on and obviously not quite finished yet.

If you want to hack on GIMP, please read the file HACKING. For
detailed installation instructions, see the file INSTALL.


1. Web Resources
================

GIMP's home page is at:

	https://www.gimp.org/

Please be sure to visit this site for information, documentation,
tutorials, news, etc.  All things GIMP-ish are available from there.

There you can get the latest versions of plug-ins, using a convenient
forms-based interface.

The latest version of GIMP can be found at:

	https://www.gimp.org/downloads/


2. Mailing Lists
================

We have several mailing lists dedicated to GIMP user and development
discussion.  There is more info at

	https://www.gimp.org/mail_lists.html

Links to several archives of the mailing lists are included in that page.

Gimp-user-list is a mailing list dedicated to user problems, hints and
tips, discussion of cool effects, etc.  Gimp-developer-list is oriented
to GIMP core and plug-in developers.  Gimp-gui-list is for discussing
about GIMP interface to improve user experience. Most people will only
want to be subscribed to gimp-user-list. If you want to help develop
GIMP, the gimp-developer mailing list is a good starting point; if you
want to help with GUI design, the gimp-gui list is where you want to
subscribe.


3. IRC
======

And finally, for the real junkies, there is an IRC channel devoted to
GIMP. On GIMPNet (a private free software oriented network) there is
#gimp.  Many of the developers hang out there.  Some of the GIMPNet
servers are:

	irc.gimp.org:6667
	irc.us.gimp.org:6667
	irc.eu.gimp.org:6667


4. Customizing
==============

The look of GIMP's interface can be customized like any other GTK+ app
by editing files in `${XDG_CONFIG_HOME}/gtk-3.0/` (settings.ini and
gtk.css in particular) or by using "themes" (ready-made customizations).
Additionally, GIMP reads `${XDG_CONFIG_HOME}/GIMP/2.99/gimp.css` so you
can have settings that only apply to GIMP.

Included is a set of keybindings similar to those in Adobe Photoshop.
You can find them in the ps-menurc file.  To use them, copy this file
to `${XDG_CONFIG_HOME}/GIMP/2.99/menurc`. You can also manually change
the keybindings to any of your choice by editing:
`${XDG_CONFIG_HOME}/GIMP/2.99/menurc`.


Have fun,

  Spencer Kimball
  Peter Mattis
  Federico Mena
  Manish Singh
  Sven Neumann
  Michael Natterer
  Dave Neary
  Martin Nordholts
Description
mirror of the open source image editor GIMP
Readme 583 MiB
Languages
C 94.7%
Scheme 1.6%
Python 1.2%
C++ 0.7%
Meson 0.6%
Other 0.9%