1. 10 Dec, 2017 1 commit
    • Jehan's avatar
      plug-ins: differentiate a delay before the area/window selection... · b57c89dd
      Jehan authored
      ... and a delay before the screenshot.
      Until now, there was only delay before selection, which I changed in
      commits d9cd4b61 and 614bcf6d. Actually a delay before selection may
      also be useful, for instance when you use a tablet without keyboard (no
      alt-tab possible) and the window/area you wish to capture is behind GIMP
      window. Then you'd want to interact with the desktop with the pointer
      before the cursor changes for selection interaction.
      I add some logics so that the selection delay doesn't show when it is
      unecessary (for instance for full-screen screenshot, or when the window
      screenshot is based on the active window, not click selection, like with
      GNOME shell API).
      b57c89dd
  2. 09 Dec, 2017 14 commits
    • Jehan's avatar
      NEWS: adding HGT support. · 1a1b1757
      Jehan authored
      1a1b1757
    • Jehan's avatar
      plug-ins: leave a message for translators. · 733b2344
      Jehan authored
      "Digital Elevation Model" (DEM) is a technical term which therefore
      cannot be translated just by its meaning.
      733b2344
    • Jehan's avatar
      plug-ins: let's special-case just a bit the HGT data. · b78b14b1
      Jehan authored
      - Display title "Digital Elevation Model data" instead of just "Image".
      - Don't show the type combo anymore, since HGT is always 16-bit signed
        integer in big endian.
      - Don't show the width and height either, but instead show a dropdown
        list to choose between either SRTM-1 or SRTM-3 data. There seems to be
        only these 2 types of data, and this will determine the width and
        height. This choice (SRTM-1 vs 3) will mostly likely be better known
        by people than knowing what image dimension they have to set,
        especially since official links for such files seem to all include the
        information.
      b78b14b1
    • Jehan's avatar
      plug-ins: minor cleaning and fixes. · 88ccdb4e
      Jehan authored
      - Add some parentheses to sizeof (*pointer). Maybe it's just me, but it
        is just a bit clearer to me.
      - Free in_raw when out_raw allocation failed.
      - Use strrchr() instead of strchr() to get the extension (I had a case
        when testing where the file was inside a folder named similarly with a
        ".hgt" and it would break the comparison test).
      - Do a case-insensitive comparison. Even though the original files from
        NASA use lowercase, just to be sure.
      88ccdb4e
    • Massimo Valentini's avatar
      Bug 771661: Extend the raw data import plugin to open .hgt files · c572bdf6
      Massimo Valentini authored
      add support to load single channel 16 bit, signed/unsigned,
      little/big endian 2d raster data as a 16 bit RGB gamma GIMP image
      c572bdf6
    • Jehan's avatar
      plug-ins: s/Windows.h/windows.h/. · 36daa6db
      Jehan authored
      I just cross-compiled for Windows after a long time. The header file is
      all lowercase on a cross-compilation MinGW-w64 environment. I'm not sure
      what is the case on Windows, but since this platform is case-insensitive
      for file names, I believe this won't break anything on native builds.
      36daa6db
    • Jehan's avatar
      plug-ins: fix a bunch of coding style. · bf13c13e
      Jehan authored
      The screenshot-win32.c file was absolutely not following our coding
      style. A lot of things are still wrong (like camelCase functions), but
      at least I fixed a bunch of indentations, space between function and
      arguments, alignments, curly brackets at start of lines, etc.
      bf13c13e
    • Ell's avatar
      app: use FAST filter when painting xfer surface · 36258a67
      Ell authored
      Use CAIRO_FILTER_FAST when painting the xfer surface to the
      screen.  This notably improves performance when the canvas is
      rotated, at the cost of lower filtering quality.
      36258a67
    • Ell's avatar
      app: another off-by-one chunking fix · 6d19e9e8
      Ell authored
      6d19e9e8
    • Ell's avatar
      app: fix off-by-one error in last commit · 709c929d
      Ell authored
      709c929d
    • Ell's avatar
      Bug 759287 - Canvas Tearing While in Rotated Canvas View · 8029508f
      Ell authored
      Based on a patch by Massimo.
      
      Move the entire image-space/screen-space transformation logic from
      gimp_display_shell_render() to gimp_display_shell_draw_image(), so
      that the former works entirely in image space, and do the chunking
      and clipping in screen-space, making sure that image-space chunks
      are never larger than
      GIMP_DISPLAY_RENDER_BUF_WIDTH x GIMP_DISPLAY_RENDER_BUF_HEIGHT,
      even when the window's scale factor is greater than 1.
      
      Add a GIMP_BRICK_WALL environment variable, which, when set, shows
      the screen-space chunk bounds.
      8029508f
    • João Sebastião de Oliveira Bueno's avatar
    • Jehan's avatar
      Bug 791352 - Screenshot delay is broken for region shots in GNOME. · 614bcf6d
      Jehan authored
      Delay should indeed happen before root and window screenshots, but must
      happen in-between region selection and region screenshot.
      
      One can notice that the logics is different for Windows screenshot in
      X11. The reason is that X11 window screenshot has an additional window
      selection step (and therefore delay must happen in between selection and
      actual screenshot). Window screenshot in Wayland doesn't have this step
      and simply screenshots whatever is the currently active Window.
      614bcf6d
    • Jehan's avatar
      Bug 791352 - Screenshot delay is broken for region-grab screenshot. · d9cd4b61
      Jehan authored
      Fix first the delay in X11.
      Actually both for region and window screenshots, it makes no sense to
      delay *before* region or window selection. Usually when one uses a
      delay, the point is to prepare in-between selection and shot. For
      instance, I often used a delay to snap the contents of a menu because
      PrintScreen key would not work when a menu is opened. So I would set a
      delay, select my window/region, then quickly open the menu before the
      delay is counting down. This would not be possible with the way delay
      occurred (before selection), which just has no use that I can see of.
      d9cd4b61
  3. 08 Dec, 2017 9 commits
    • Jehan's avatar
      libgimpwidgets: add private headers for GimpPickButton implementations. · ef6559b3
      Jehan authored
      Though forward declarations of the implementations are ok, it is cleaner
      to have proper header files for each variant (default, kwin, quartz
      right now). Of course these new header files are not installed and must
      be kept private for build only.
      ef6559b3
    • Jehan's avatar
      Bug 780375 - Color picker won't pick on Wayland. · 06bbf3e4
      Jehan authored
      Add support for KWin API, for KDE on Wayland.
      Unfortunately though, KWin's "pick" API seems to have failures, so I
      fallback to the default color picking when this happens. This will still
      not work on Wayland, but at least won't cause regression for color
      picking on KDE/X11.
      See also KDE bug: https://bugs.kde.org/show_bug.cgi?id=387720
      06bbf3e4
    • Jehan's avatar
      plug-ins: fix indentation. · 3f1dcaad
      Jehan authored
      The risk of search and replace. Bad me!
      3f1dcaad
    • Jehan's avatar
      Bug 781020 - GIMP UI vector icons are drawn way too small. · 3023227f
      Jehan authored
      Though the bug was mostly fixed, it seems to still happen on Windows XP,
      where apparently no content type had been registered for SVG.
      GTK+ developers don't seem too keen to patch GTK+ 2.24 for a platform
      which they don't support anymore.
      
      Also if not mistaken, GIMP does not officially support Windows XP
      anymore either. A patch though has already been provided by Edward E.
      and it really doesn't look like it could break anything since it just
      adds a last "else if" when everything else failed (and inside a #ifdef
      affecting only WIN32 builds).
      So let's just add it in our builds at least. We still don't have support
      for it, but I see no reason to just refuse a minor patch which won't
      break anything else.
      3023227f
    • Jehan's avatar
      Bug 791360 - Add Screenshot implementation for KDE/Wayland. · b9034e26
      Jehan authored
      Only thing I could not properly figure out yet is how to select an area.
      The "screenshotArea" method is there in KDE API, but it needs
      coordinates and I can't find the API to grab coordinates in Wayland (as
      in GNOME shell API).
      b9034e26
    • Ell's avatar
      app: update GimpContainerView row expanded state ... · 5d544c2a
      Ell authored
      ... when inserting/reordering items
      
      Otherwise, newly inserted/reordered group layers are always
      collapsed.
      5d544c2a
    • Ell's avatar
      app: copy expanded state of duplicated items · 4c554179
      Ell authored
      ... so that duplicated group layers maintain the expanded state of
      the original.
      4c554179
    • Ell's avatar
      app: remove redundant opacity clamp from gimp_layer_new() · 06f41db6
      Ell authored
      The opacity will be clamped by gimp_layer_set_opacity().
      06f41db6
    • Ell's avatar
      Bug 791386 - New layer with AUTO everything always uses normal mode · 776b4a9a
      Ell authored
      In gimp_layer_new(), set opacity and mode using the setter
      functions, instead of modifying the members directly, so that all
      the necessary side effects take place.
      776b4a9a
  4. 07 Dec, 2017 5 commits
  5. 06 Dec, 2017 10 commits
    • Jehan's avatar
      app: add/update some comments. · f28cb1c5
      Jehan authored
      Keep multi-threading disable on the cage transform operation. It is now
      fixed but is a lot much slower than when single-threaded, making it
      painful to use on bigger images.
      So let's reenable later if we can improve this. See bug 787663.
      f28cb1c5
    • Massimo Valentini's avatar
      Bug 787663 - Cage tool creates artifacts with multi-threading · f727e885
      Massimo Valentini authored
      Stop recursion only when all 3 vertices of the triangle are outside the
      roi (left/right or above/below).
      f727e885
    • Jehan's avatar
      build: remove flatpak files duplicated in the flathub repository. · 63f830be
      Jehan authored
      The BaseApp json used for all 3 builds (stable, dev and nightly) is
      common so just keep the one made available in the flathub upstream
      repository. The patch also applies to the BaseApp only.
      63f830be
    • Jehan's avatar
      build: add the flathub stable repository as a submodule. · 580782dc
      Jehan authored
      This will only be used for our development/nightly flatpak builds and
      this submodule does not have to be pulled for normal GIMP development.
      580782dc
    • Ell's avatar
      app: strength-reduce pass-through groups to normal groups · fa9a023c
      Ell authored
      Override GimpLayer::get_effective_mode() in GimpGroupLayer, to
      perform strength-reduction of pass-through groups to normal groups
      under certain conditions (see gimp_group_layer_get_effective_mode()
      for the logic.)
      
      The main motivation for this is the fact that Photoshop uses pass-
      through mode as the default mode for groups, resulting in many PSDs
      using pass-through groups generously and unnecessarily.  Since
      pass-through groups are more expensive that normal groups, reducing
      them to normal groups when possible can make a big difference.
      
      Note that, while the results of the strength-reduced composition
      are theoretically equivalent, there may be small differences in
      practice due to numerical errors, especially when using low
      precision.  This is unlikely to be an issue, but, just in case,
      allow disabling this optimization using the
      GIMP_NO_PASS_THROUGH_STRENGTH_REDUCTION environment variable.
      fa9a023c
    • Ell's avatar
      app: add gimp_layer_get_effective_mode() · bdba43e4
      Ell authored
      gimp_layer_get_effective_mode() returns the actual layer mode,
      blend space, comosite space, and composite mode used for the
      layer's mode node, allowing them to be different from the values of
      the corresponding layer properties.  The aim is to allow us to
      replace expensive layer configurations with cheaper but equivalent
      ones transparently.  This is used in the next commit to replace
      pass-through groups with normal groups under certain conditions.
      
      The effective values are computed by the new
      GimpLayer::get_effective_mode() virtual function.  The default
      implementation provided by GimpLayer returns the corresponding
      layer properties as-is (replaceing AUTO with concrete values).
      Subclasses can override this function, providing more
      sophisticated logic.
      bdba43e4
    • Ell's avatar
      plug-ins: in file-psd, insert layers to image after writing buffers · 67e68575
      Ell authored
      When loading PSDs, insert layers to the image as the last step of
      layer creation, after writing the pixel data to their buffers, so
      that the data of child layers is available when their parent
      group's projection is subseqeuently invalidated; otherwise, we'd
      need an additional gimp_drawable_update() call after writing the
      data to the buffers.
      67e68575
    • Ell's avatar
      app: remove gimp_filter_is_active() prototype · 93ed1048
      Ell authored
      Leftover from commit f5d1686a, not
      actually defined.
      93ed1048
    • Jehan's avatar
      Bug 787663 - Cage tool creates artifacts with multi-threading. · 87aaf576
      Jehan authored
      Temporarily disable multi-threading on the cage transform so that it
      performs sanely until it is fixed.
      87aaf576
    • Ell's avatar
      app: fix git-version.h when building linked working tree · 09c2ba4c
      Ell authored
      When building a linked working tree, $(top_srcdir)/.git is a
      regular file, and not a directory.  Change the recipe for
      git-version.h to allow that.
      09c2ba4c
  6. 05 Dec, 2017 1 commit