|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- /* sxiv: image.h
- * Copyright (c) 2011 Bert Muennich <muennich at informatik.hu-berlin.de>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
- #ifndef IMAGE_H
- #define IMAGE_H
-
- #include <Imlib2.h>
-
- #include "types.h"
- #include "window.h"
-
- typedef struct {
- Imlib_Image *im;
- unsigned int delay;
- } img_frame_t;
-
- typedef struct {
- img_frame_t *frames;
- int cap;
- int cnt;
- int sel;
- bool animate;
- } multi_img_t;
-
- typedef struct {
- Imlib_Image *im;
- int w;
- int h;
-
- win_t *win;
- int x;
- int y;
-
- scalemode_t scalemode;
- float zoom;
-
- bool re;
- bool checkpan;
- bool dirty;
- bool aa;
- bool alpha;
-
- bool slideshow;
- int ss_delay; /* in ms */
-
- multi_img_t multi;
- } img_t;
-
- void img_init(img_t*, win_t*);
-
- bool img_load(img_t*, const fileinfo_t*);
- void img_close(img_t*, bool);
-
- void img_render(img_t*);
-
- bool img_fit_win(img_t*);
- bool img_center(img_t*);
-
- bool img_zoom(img_t*, float);
- bool img_zoom_in(img_t*);
- bool img_zoom_out(img_t*);
-
- bool img_move(img_t*, int, int);
- bool img_pan(img_t*, direction_t, bool);
- bool img_pan_edge(img_t*, direction_t);
-
- void img_rotate_left(img_t*);
- void img_rotate_right(img_t*);
-
- void img_toggle_antialias(img_t*);
-
- bool img_frame_navigate(img_t*, int);
- bool img_frame_animate(img_t*, bool);
-
- #endif /* IMAGE_H */
|