Michael Natterer
db09d0f3d3
app: move functions to create layers to new files gimplayer-new.[ch]
2015-06-17 13:21:01 +02:00
Michael Natterer
c876e281b1
Bug 750874 - Displayed colors look clipped after profile conversion...
...
but they aren't clipped
Add gimp_display_shell_profile_can_convert_to_u8() which returns
whether the lcms transform can safely write directly into an u8 buffer
without destroying out-of-gammut pixel values, which we assume is the
case for all integer formats. If the function returns FALSE, always
convert via the R'G'B'A float filter_buffer.
Also connect to the image's "precision-changed" signal and update the
profile transform when it's emitted.
2015-06-13 00:27:21 +02:00
Michael Natterer
5cdbf6ae33
app: always use an RGB format as source format for display color management
2015-06-12 20:15:19 +02:00
Michael Natterer
4910c28957
libgimpcolor: rename the gimp_lcms_*() functions to gimp_color_profile_*()
...
because it doesn't make sense to call the typedef GimpColorProfile
but the function namespace gimp_lcms_*().
2015-06-03 09:41:23 +02:00
Michael Natterer
460948e068
app: add member GimpDisplayShell.filter_format
...
and use it where we used to hardcode "R'G'B'A float".
2015-06-02 00:01:28 +02:00
Michael Natterer
08545ad549
app: switch gimpdisplayshell-render.c to the new profile filter code
...
- disable auto-adding of the lcms display filter module
- change profile convert dest formats to be always R'G'B'A, a display
profile transform outputs something that can be displayed directly,
so no additional gamma transform must happen when the pixels are
copied to a cairo-ARGB32 buffer
- add a medium forest of if() branches to gimpdisplayshell-filter.c
which cover all combinations of profile and display filter
transforms
- all of this is still very broken when changing an image to linear,
because the configured RGB profile from prefs will do horrible
nonsense (things work fine though with a per-image profile that is
for linear data)
2015-06-01 23:30:03 +02:00
Michael Natterer
1b9a8b71ba
app: add gimp_display_shell_has_filter()
...
which checks if there are any filters active on the display.
2015-06-01 08:16:12 +02:00
Michael Natterer
2e07e938f4
app, libgimpcolor: never return NULL in GimpColorManaged::get_color_profile()
2015-05-30 22:23:25 +02:00
Michael Natterer
281a529b0c
app: use gimp_color_managed_get_color_profile()
...
instead of gimp_image_get_color_profile() and remove all fallback
code, GimpColorManaged always returns a profile.
2015-05-30 00:58:22 +02:00
Michael Natterer
e06a620d11
app: rename gimp_image_get_profile() to _get_color_profile()
2015-05-30 00:47:13 +02:00
Michael Natterer
8b824305a0
app: update the display profile transform when the color config changes
2015-05-27 12:30:32 +02:00
Michael Natterer
8ded5c40e3
app: update the display profile transform when display filter change
...
because they will share buffers.
2015-05-27 12:29:42 +02:00
Michael Natterer
3267218143
app: add gimpdisplayshell-profile.[ch]
...
which will take over display color management from the display
filter module. This is WIP, the code is still unused.
2015-05-27 12:28:33 +02:00
Michael Natterer
6b0b774302
libgimpwidgets: add gimpwidgetsutils.[ch]
...
Move some functions from libgimpwidgets/gimpwidgets.[ch]
and from app/widgets/gimpwidgets-utils.[ch]. Newly add
gimp_widget_get_color_profile() which is extracted from
modules/display-filter-lcms.c.
2015-05-06 22:15:30 +02:00
Michael Natterer
072cb068b2
app: add a "detach" button to all on-canvas tool dialogs
...
which turns them from being automatically attached/detached (depending
on canvas size) into always being a separate window.
2015-05-01 18:00:05 -04:00
Michael Natterer
4ea6f6dd28
app: minor formatting cleanup in gimpdisplayshell-tool-events.c
2015-04-18 08:40:31 +02:00
Michael Natterer
6f104ff2ac
Bug 747224 - Too easy to accidentially close an image tab
...
Show the close button only on the active tab, so it's not
accidentially hit when changing between images.
2015-04-03 20:28:57 +02:00
Michael Natterer
2e316a342e
app: change the image window icon size from 32x32 to 64x64, because it's 2015
2015-03-29 21:50:34 +02:00
Mukund Sivaraman
2c80affe4c
app: Include commit hash in display shell message
2015-03-12 12:07:45 +05:30
Michael Natterer
ce29043315
app: some cleanup in GimpCanvasBufferPreview
2015-03-01 00:18:10 +01:00
Marek Dvoroznak
10255eddbb
app: npd-tool: add option to apply or cancel the deformation
2015-02-27 20:21:52 +01:00
Marek Dvoroznak
781f0b79f8
app: add canvas buffer preview
...
It is used by n-point deformation tool to preview a deformation process.
2015-02-27 20:21:52 +01:00
Joao S. O. Bueno
2746544328
Add new codes for title bar: '%e' for offsets, '%r' for rotation
2015-01-29 11:06:54 -02:00
Kristian Rietveld
cea42c73d8
app: fix implicit enum casting
...
Silences clang.
2015-01-10 00:02:28 +01:00
Michael Natterer
c17e8b0412
app: add crosshair drawing to GimpCanvasAnchor and use it in GimpPaintTool
...
instead of drawing the crosshair cursor manually.
2014-11-18 23:06:43 +01:00
Alexia Death
7c00dcd71d
app: use variable buffer length for a more stable direction
2014-11-17 21:36:06 +02:00
Alexia Death
b161253939
app: refactor all motion managment to use scale factors passed with coords
2014-11-17 00:03:13 +02:00
Alexia Death
9a953a9239
app: locking brush size to zoom
2014-11-17 00:03:10 +02:00
Michael Natterer
225a0ce27c
Bug 567333 - Using tab to toggle docked "utility windows" does not...
...
...bring focus back to GIMP image window
When showing docks in multi-window-mode, try to set the keyboard focus
back to the active display because it might have been stolen by a dock.
2014-10-29 23:34:41 +01:00
Michael Natterer
c5ed3e56c9
Bug 735505 - Weird Characters in Zoom Button
...
On windows, use a normal space instead of U+2009 THIN SPACE for
separating the scale percentage from the percent sign.
2014-09-27 23:48:39 +02:00
Michael Natterer
53f4dda3b4
Bug 735894 - Option to display the image ICC profile...
...
...on the title bar and status bar
Implement %o for the title and status format strings, which expands
to the image profile's label.
2014-09-03 22:20:36 +02:00
Mukund Sivaraman
a805f8426a
app: Use gint64 for dirty_time
2014-08-25 19:55:29 +05:30
Michael Natterer
328e4eff18
app: add gimp_progress_set_text_literal()
...
and use it instead of set_text (progress, "%s", literal_message);
2014-07-20 23:32:19 +02:00
Michael Natterer
a6601d563b
app: some GimpProgress cleanup
...
- change start() and set_text() to use "format" and "..." instead of
"message", allowing to format progress messages in place
- s/cancelable/cancellable/
- move "cancellable" to be the second argument of start()
2014-07-12 23:45:20 +02:00
Michael Natterer
d0a6d95dad
app: remove a bunch of file-utils.h includes
2014-07-08 00:23:34 +02:00
Michael Natterer
ff6ea69569
app: change the image's various URIs to GFiles
...
which gets rid of a lot of temporarily added GFile code again because
we don't need to convert between URI and GFile any longer.
2014-07-07 23:58:11 +02:00
Michael Natterer
0f8d84d5e9
app: port all file_open() and file_save() functions to GFile
2014-07-07 23:58:11 +02:00
Michael Natterer
52032961c2
app: add (disabled) code that blits the image directly from the graph
...
bypassing the projection buffer.
2014-07-03 20:52:02 +02:00
Michael Natterer
c88800e840
app: add gimp-priorities.h and keep the most important priorities there
...
also add comments with all predefined priorities as documentation.
2014-07-02 04:47:24 +02:00
Michael Natterer
2d2bdbd48f
app: implement GimpCanvasItem::hit() in GimpCanvasProgress
...
Allow hits only on the progress text. Hackish proof-of-concept hack.
2014-06-30 03:40:34 +02:00
Michael Natterer
2ac5ab7dc3
app: don't use the projection in gimpdisplayshell-render.c
...
The image implements the GimpPickable interface too.
2014-06-29 23:11:53 +02:00
Michael Natterer
34dd127ace
app: don't include gimpprojection.h in gimpdisplayshell-scroll.c
...
It's not needed.
2014-06-29 23:11:12 +02:00
Michael Henning
2e3e4597ef
app: Slight cleanup in gimpdisplayshell-rotate-dialog.c
2014-06-29 14:58:12 -04:00
Michael Natterer
78bc7ac94e
app: improve and clean up the canvas rotation dialog
...
Make the action area buttons behave less unexpected, and add and angle
dial.
2014-06-26 13:48:12 +02:00
Michael Natterer
a665c30823
app: gimp_spin_button_new() -> gtk_spin_button_new()
2014-06-21 22:39:37 +02:00
Michael Natterer
921bd34495
app: fix GimpCanvasProgress' extents for short progress texts
2014-06-19 23:29:00 +02:00
Michael Natterer
3af1fff5af
app: make the first image jump to the center of the canvas before rendering
...
Make GIMP_DISPLAY_SHELL_FILL_IDLE_PRIORITY a bit higher than
GIMP_PROJECTION_IDLE_PRIORITY which is the priority of chunk
rendering.
2014-06-17 23:29:24 +02:00
Michael Natterer
21a8f9c96b
app: add boolean "mask_inverted" to GimpDisplayShell
...
and to gimp_display_shell_set_mask(). It allows to choose whether the
mask is drawn inverted, instead of always drawing it inverted.
2014-06-11 21:33:57 +02:00
Michael Natterer
cd479ce04e
app: add an "auto overlay" API to GimpToolGui
...
which makes tool dialogs auto-overlay if the canvas is large
enough. Set all tools dialogs except GimpImageMapTool's dialog to
auto.
2014-06-09 03:08:43 +02:00
Michael Natterer
17bd4d2c28
app: make GimpOverlayDialog's title and icon-name settable after construction
2014-06-09 01:42:09 +02:00