Commits on Jun 18, 2013
  1. Fix assertion error in get_dnd_target_side()

    hyperair committed Jun 18, 2013
    Allow left/right/top/bottom to be 0. It just has to be positive if not 0.
Commits on May 8, 2012
Commits on May 7, 2012
  1. CollageViewer: Don't draw selection to exported file

    hyperair committed May 7, 2012
    Use draw_rect() instead of on_draw() to draw onto the ImageSurface for exporting
    the collage. This prevents us from taking into considderation the zoom factor
    and selection.
  2. CollageViewer: Fix real_[xy] calculation

    hyperair committed May 7, 2012
    We need to divide by the zoom factor, not multiply, since we're going from real
    to virtual pixel-space.
  3. CollageViewer: Ignore GDK_[23]BUTTON_PRESS

    hyperair committed May 7, 2012
    For double and triple clicks, successive button_press_events can happen before a
    button_release_event happens, resulting in a failed assertion. Ignore these events.
  4. CollageViewer: Improve selection handling

    hyperair committed May 7, 2012
    Split the selection updating into button_press and button_release portions.
    In button_press, we handle new selections, i.e. selecting a leaf rectangle that
    is not within the currently selected rectangle. In button_release, we handle
    cycling the selections, i.e. if traversing up the tree from the current
    This split allows a drag starting from an unselected region to work predictably,
    without needing to have previously triggered a button_release event first, while
    avoiding cycling the selected rectangle when beginning to drag an already
    selected rectangle.
  5. CollageViewer: Fix drag end detection

    hyperair committed May 7, 2012
    When dnd fails, on_drag_drop() isn't called, so there is a possibility of
    _priv->dragging remaining true, resulting in clicks being ignored until a proper
    drag is done.
  6. CollageViewer: Fix updating of canvas size

    hyperair committed May 7, 2012
    Consider zoom_factor when updating canvas size after a layout change.
Commits on May 6, 2012
  1. Rectangles: Unconditionally call recalculate_size_impl()

    hyperair committed May 6, 2012
    When recalculate_size() is triggered at a certain level in the tree, we need to
    recalculate it before going up the tree to the root.
    This is because aspect_ratio() starts flapping around due to width()/height()
    changes after a layout change, causing some rather non-deterministic behaviour
    when recalculating the size.
  2. CollageViewer: Reset selection when collage is reset

    hyperair committed May 6, 2012
    This prevents a segfault if the selection is no longer part of the new collage
  3. CollageViewer: Fix upscaling detection

    hyperair committed May 6, 2012
    Accomodate for floating point errors when detecting up-scaling, as some double
    values may be marginally larger than the max_ value.
  4. rectangles: Fix some segfaults

    hyperair committed May 6, 2012
    Improve robustness of disconnecting a subtree from a given tree.
  5. CollageViewer: Use full clicks instead

    hyperair committed May 6, 2012
    Rather than hooking onto button_press_event, hook onto button_release_event
    instead to capture a full click.
  6. rectangles: Fix false positives in find_rect()

    hyperair committed May 6, 2012
    Don't return a rectangle if x,y are out of bounds from the current rectangle
  7. CollageViewer: Higlight the selected rectangle

    hyperair committed May 6, 2012
    Highlight the selected rectangle by drawing the background over it with an alpha
    of 0.2 for better visibility.
  8. CollageViewer: Cycle selected rectangle

    hyperair committed May 6, 2012
    Successively select higher rectangle for every click in the same rectangle.
Commits on May 5, 2012
  1. Use StyleContext for drawing selection

    hyperair committed May 5, 2012
    Use render_background() and render_frame() in order to draw the border of the
    selected rectangles. This allows better integration with the theme
  2. rectangles: Add offset_[xy]() functions

    hyperair committed May 5, 2012
    This allows us to query the absolute offset of any node in the tree by
    traversing up the tree
  3. Implement rectangle selection

    hyperair committed May 5, 2012
  4. rectangles: Move enable_shared_from_this to base

    hyperair committed May 5, 2012
    In preparation of making a recursive find_rect() function which will need
    shared_from_this in the base class, we need to move enable_shared_from_this into
    the base Rectangle class.
    CompositeRectangle will still get a type-safe shared_from_this()
    function using static_pointer_cast, which is safe because
    CompositeRectangle::shared_from_this is guaranteed to be called with a
    CompositeRectangle instance.
Commits on Apr 26, 2012
  1. ImageList: Adjust item width

    hyperair committed Apr 26, 2012
Commits on Apr 13, 2012
Commits on Mar 11, 2012
  1. Binpack in multiple passes

    hyperair committed Mar 11, 2012
    This avoids combining back rectangles with composite rectangles, resulting in a
    fairer and more predictable result.
Commits on Mar 9, 2012
  1. Scale images in steps of 10x

    hyperair committed Mar 9, 2012
    Gdk::Pixbuf has a nasty bug where it hangs forever when scaling extremely large
    images to extremely small sizes. However, scaling in steps of 10x seem to work
    out fine.
Commits on Mar 8, 2012