Codebase list libmypaint / upstream/1.5.0 mypaint-rectangle.h
upstream/1.5.0

Tree @upstream/1.5.0 (Download .tar.gz)

mypaint-rectangle.h @upstream/1.5.0raw · history · blame

#ifndef MYPAINTRECTANGLE_H
#define MYPAINTRECTANGLE_H

/* libmypaint - The MyPaint Brush Library
 * Copyright (C) 2008 Martin Renold <martinxyz@gmx.ch>
 * Copyright (C) 2012 Jon Nordby <jononor@gmail.com>
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */

#include "mypaint-config.h"
#include "mypaint-glib-compat.h"

G_BEGIN_DECLS

typedef struct {
    int x;
    int y;
    int width;
    int height;
} MyPaintRectangle;

typedef struct {
  int num_rectangles;
  MyPaintRectangle* rectangles;
} MyPaintRectangles;

void mypaint_rectangle_expand_to_include_point(MyPaintRectangle *r, int x, int y);
void mypaint_rectangle_expand_to_include_rect(MyPaintRectangle *r, MyPaintRectangle *other);
MyPaintRectangle *
mypaint_rectangle_copy(MyPaintRectangle *self);

G_END_DECLS

#endif // MYPAINTRECTANGLE_H