Commit Graph

1152 Commits

Author SHA1 Message Date
d62e75a41f Move GimpParamSpecString from libgimp back to app
It's just too weird to be public. Remove its properties from the wire
protocol and from pluginrc. Instead, have all GParamSpecs' flags on
the wire and in pluginrc, so we can use stuff like
GIMP_PARAM_NO_VALIDATE.

Port the remaining few places to GIMP_PROC_ARG_STRING().

I'm sure something is broken now wrt UTF-8 validation,
will add tighter checks in the next commit.
2019-08-19 12:54:52 +02:00
b250af33e1 devel-docs: some doc updates 2019-08-18 14:15:24 +02:00
284ba5c870 libgimpconfig: Prevent GIR conflicts in GimpConfigWriter
GimpConfigWriter contains several constructors with the convention
`gimp_config_writer_new_* ()`. This will lead to problems however with
languages like Vala, where it cannot disambiguate the following:

```
// calls config_writer_new_string()
Gimp.ConfigWriter w = new ConfigWriter.string("xxx");
// calls config_writer_string()
w.string("xxx")
```

Using `from_` in constructors is general practice in GObject-bsed
libraries because of this.

This also fixes an error when trying to use vapigen on the GIMP .GIR
file.
2019-08-16 10:04:39 +00:00
652fd75891 Rename GIMP_TYPE_INT8_ARRAY to GIMP_TYPE_UINT8_ARRAY
and GimpParamSpecInt8Array to GimpParamSpecUInt8Array
2019-08-15 15:04:34 +02:00
350abba213 Remove GIMP_TYPE_INT16 and GimpParamSpecInt16
Use gint and GParamSpecInt with the right value range instead.
2019-08-15 14:17:17 +02:00
5a09523214 Remove GIMP_TYPE_INT32 and GimpParamSpecInt32
Use gint and GParamSpecInt instead.
2019-08-15 14:04:56 +02:00
1bf90ec77f Remove GIMP_TYPE_INT8 and GimpParamSpecInt8
Use guchar and GParamSpecUChar instead.
2019-08-15 13:34:11 +02:00
2cc080cf60 libgimp, devel-docs: why bother having docs for gimplegacy.[ch]
It's about to be dumped...
2019-08-14 21:04:18 +02:00
7e99aa59f5 Add other misc. typo fixes 2019-08-13 11:50:51 -04:00
78c7d46ad9 devel-docs: update the libgimp docs 2019-08-11 15:38:07 +02:00
4bafbeca1b devel-docs: doc updates, more doc modules without any warnings 2019-08-10 12:32:56 +02:00
6cb027f402 devel-docs: update the libgimp docs 2019-08-10 11:08:33 +02:00
2182efddfb devel-docs: update the libgimpconfig docs 2019-08-10 09:42:28 +02:00
b6d39a4f3f devel-docs: update libgimpbase docs 2019-08-10 02:29:32 +02:00
1743f474e5 app/widgets: Use G_DECLARE_INTERFACE()
This cuts aways a little of the GObject boilerplate.
2019-08-09 19:48:21 +00:00
d3e9e5617d app/core: Use G_DECLARE_INTERFACE()
This cuts aways a little of the GObject boilerplate.
2019-08-09 19:48:21 +00:00
a0ba37649d libgimpcolor: colormanaged: Use G_DECLARE_INTERFACE()
This cuts aways a little of the GObject boilerplate.
2019-08-09 19:48:20 +00:00
e77382ee75 docs: Fix warnings for annotations
Right now, we get the following warnings when building the docs:

> gtk-doc.xsl: For acronym (nullable) no value found

This is because we're not adding the generated annotation glossary to
the docs sgml (presumably because we didn't need it as we didn't use
GObject-Introspection yet). This commit adds those lines and thus fixes
the warnings.
2019-08-05 07:05:37 +00:00
1dda60154c Use "Returns:" to annotate return values
To be able to annotate return values through GObject-introspection, you
need to make sure it is tagged with `Returns:` and not something else.
2019-08-03 07:53:47 +00:00
254dee3b11 devel-docs: update the libgimp docs 2019-08-01 16:01:39 +02:00
c9d6f93188 devel-docs: update the libgimpbase docs 2019-08-01 16:01:15 +02:00
0ec7534607 devel-docs: update the libgimpcolor docs 2019-08-01 12:47:57 +02:00
acf36738b6 devel-docs: update the libgimpbase docs 2019-08-01 12:37:32 +02:00
8aaf517db4 devel-docs: add screenshots of more widgets 2019-07-25 15:24:59 +02:00
572775a60b devel-docs: update the libgimpwidgets docs with new widget shots
Added some more and some minor fixes.
2019-07-24 19:19:04 +02:00
dcbd83cafc devel-docs: undeprecate doc-shooter and add a few more widgets
Doesn't use X11 any longer, just plain GTK and cairo.
2019-07-24 19:17:14 +02:00
7f39be196a devel-docs: rename to doc titles to "GIMP 3"
so they are different from the GIMP 2 docs.
2019-07-24 10:23:52 +02:00
fbee862c50 devel-docs: remove gegl-porting-plan.txt, what was in there is done 2019-07-24 02:17:39 +02:00
c2a38f0631 devel-docs: various documentation and build fixes 2019-07-24 01:21:16 +02:00
0131c96e1d devel-docs: undeprecate doc-shooterm but just so it builds
it's still horrible.
2019-07-23 19:33:48 +02:00
55fc774ca9 devel-docs: fix and update the libgimp docs 2019-07-23 19:33:48 +02:00
0155eccbf2 devel-docs: fix and update the libgimpthumb docs 2019-07-23 19:33:48 +02:00
d2d9e47390 devel-docs: fix and update the libgimpwidgets docs 2019-07-23 19:33:48 +02:00
ff7467f6dd devel-docs: fix and update the libgimpmodule docs 2019-07-23 19:33:48 +02:00
29e1d9e7cf devel-docs: fix and update the libgimpmath docs 2019-07-23 19:33:48 +02:00
41d1ad26a4 devel-docs: fix and update the libgimpcolor docs 2019-07-23 19:33:48 +02:00
79e40b1945 devel-docs: update docs with missing symbols and types
(cherry picked from commit f974cdb5d7)
2019-07-23 15:55:14 +02:00
a05205b576 devel-docs: fix the libgimpconfig docs 2019-07-23 15:19:08 +02:00
c249ffe3ea devel-docs: change the libgimpbase docs to "libgimpbase3"
and make them build again without any wrong symbols.

This does not enable the devel-docs build yet, I'll fix
module by module before enabling the build again.
2019-07-23 13:47:51 +02:00
Ell
30429e30e2 app: various fixes/cleanups to last commits 2019-06-06 03:08:38 -04:00
d878551e60 devel-docs: clarify PROP_ITEM_PATH property. 2019-02-21 15:04:48 +01:00
Ell
4fefa44574 devel-docs: in performance-logs.md, fix markers-page section number 2019-01-23 16:36:04 -05:00
Ell
dafb63fd66 tools: in performance-log-viewer.py, add markers view
Add a "markers" page to the performance-log viewer, which lists
the event markers contained in the log, and allows navigating
between them.

Update docs accordingly.
2019-01-23 16:33:25 -05:00
Ell
17270bb3aa devel-docs: fix performance-log profile-view function-column description 2019-01-23 16:33:24 -05:00
Ell
b74c33db5c tools: in performance-log-viewer.py, allow inverting selection
In the perofmance-log viewer, add header-bar buttons to clear and
invert the selection, and allow inverting the selection by ctrl-
right-clicking on the sample-selection area.

Update the docs.
2019-01-16 03:58:44 -05:00
Ell
ed7ea51fb7 app: remove "Edit -> Fade..."
This commit completely removes the "Edit -> Fade..." feature,
because...

- The main reason is that "fade" requires us to keep two buffers,
  instead of one, for each fadeable undo step, doubling (or worse,
  since the extra buffer might have higher precision than the
  drawable) the space consumed by these steps.  This has notable
  impact when editing large images.  This overhead is incurred even
  when not actually using "fade", and since it seems to be very
  rarely used, this is too wasteful.

- "Fade" is broken in 2.10: when comitting a filter, we copy the
  cached parts of the result into the apply buffer.  However, the
  result cache sits after the mode node, while the apply buffer
  should contain the result of the filter *before* the mode node,
  which can lead to wrong results in the general case.

- The same behavior can be trivially achieved "manually", by
  duplicating the layer, editing the duplicate, and changing its
  opacity/mode.

- If we really want this feature, now that most filters are GEGL
  ops, it makes more sense to just add opacity/mode options to the
  filter tool, instead of having this be a separate step.
2018-12-27 11:44:25 -05:00
3e967ed02c devel-docs: 0 at end of layer and channel pointer list is a pointer too. 2018-12-11 12:52:37 +01:00
Ell
2168d91cf7 Issue #2604 - XCF saving bug in xcf_save_buffer()
The NULL terminator of the tile-offset array of dummy buffer-levels
is erroneously written as an int32, instead of an offset, even in
version-11+ XCFs, in which offsets are 64-bit.

Since the dummy levels aren't actually used by GIMP, we're going to
keep these fields as int32 as an exception, in order to remain
consistent with existing XCFs, and just add a comment in the code,
and update the docs.  If we ever make use of the higher buffer
levels, we should change these fields to offsets, and bump the XCF
version.
2018-12-04 12:09:49 -05:00
b9de1076ed devel-docs: small update for GEGL buffer leak debugging. 2018-11-14 13:37:42 +01:00
Ell
7ab9ee2686 libgimpwidgets: add GimpSpinButton
GimpSpinButton is a drop-in replacement for (and a subclass of)
GtkSpinButton.  Unlike GtkSpinButton, it avoids updating the
adjustment value when losing focus, unless the entry text has
changed.  This prevents accidental loss of precision, when the
adjustment value can't be accurately displayed in the entry.
2018-11-10 06:48:56 -05:00