nsxiva271e16
Reduced usage of preprocessor macros
+113 −120
12 files changed
- M Makefile +1 −1
- M config.h +11 −16
- M image.c +11 −11
- M image.h +3 −15
- M main.c +33 −48
- M options.c +1 −1
- M options.h +1 −0
- M thumbs.c +9 −9
- M thumbs.h +3 −9
- A types.h +35 −0
- M window.c +2 −2
- M window.h +3 −8
| @@ -1,6 +1,6 @@ | |||
| 1 | 1 | all: sxiv | |
| 2 | 2 | ||
| 3 | − | VERSION = 0.8.2 | |
| 3 | + | VERSION = git-20110722 | |
| 4 | 4 | ||
| 5 | 5 | CC = gcc | |
| 6 | 6 | DESTDIR = | |
| @@ -1,19 +1,18 @@ | |||
| 1 | 1 | /* default window dimensions (overwritten via -g option): */ | |
| 2 | − | #define WIN_WIDTH 800 | |
| 3 | − | #define WIN_HEIGHT 600 | |
| 2 | + | enum { WIN_WIDTH = 800, WIN_HEIGHT = 600 }; | |
| 4 | 3 | ||
| 5 | 4 | /* default color for window background: * | |
| 6 | 5 | * (see X(7) "COLOR NAMES" section for valid values) */ | |
| 7 | − | #define BG_COLOR "#999999" | |
| 6 | + | static const char * const BG_COLOR = "#999999"; | |
| 8 | 7 | /* default color for thumbnail selection: */ | |
| 9 | − | #define SEL_COLOR "#0066FF" | |
| 8 | + | static const char * const SEL_COLOR = "#0066FF"; | |
| 10 | 9 | ||
| 11 | 10 | /* how should images be scaled when they are loaded?: * | |
| 12 | 11 | * (also controllable via -d/-s/-Z/-z options) * | |
| 13 | 12 | * SCALE_DOWN: 100%, but fit large images into window, * | |
| 14 | 13 | * SCALE_FIT: fit all images into window, * | |
| 15 | 14 | * SCALE_ZOOM: use current zoom level, 100% at startup */ | |
| 16 | − | #define SCALE_MODE SCALE_DOWN | |
| 15 | + | static const scalemode_t SCALE_MODE = SCALE_DOWN; | |
| 17 | 16 | ||
| 18 | 17 | /* levels (percent) to use when zooming via '-' and '+': */ | |
| 19 | 18 | static const float zoom_levels[] = { | |
| @@ -22,20 +21,16 @@ static const float zoom_levels[] = { | |||
| 22 | 21 | }; | |
| 23 | 22 | ||
| 24 | 23 | /* default dimension of thumbnails (width == height): */ | |
| 25 | − | #define THUMB_SIZE 60 | |
| 24 | + | enum { THUMB_SIZE = 60 }; | |
| 26 | 25 | ||
| 27 | 26 | /* enable external commands (defined below)? 0=off, 1=on: */ | |
| 28 | − | #define EXT_COMMANDS 0 | |
| 27 | + | enum { EXT_COMMANDS = 0 }; | |
| 29 | 28 | ||
| 30 | 29 | /* external commands and corresponding key mappings: */ | |
| 31 | − | #ifdef MAIN_C | |
| 32 | − | #if EXT_COMMANDS | |
| 33 | 30 | static const command_t commands[] = { | |
| 34 | − | /* ctrl-... reload? command, '#' is replaced by filename */ | |
| 35 | − | { XK_comma, True, "jpegtran -rotate 270 -copy all -outfile # #" }, | |
| 36 | − | { XK_period, True, "jpegtran -rotate 90 -copy all -outfile # #" }, | |
| 37 | − | { XK_less, True, "mogrify -rotate -90 #" }, | |
| 38 | − | { XK_greater, True, "mogrify -rotate +90 #" } | |
| 31 | + | /* ctrl-... reload? command, '#' is replaced by filename */ | |
| 32 | + | { ',', 1, "jpegtran -rotate 270 -copy all -outfile # #" }, | |
| 33 | + | { '.', 1, "jpegtran -rotate 90 -copy all -outfile # #" }, | |
| 34 | + | { '<', 1, "mogrify -rotate -90 #" }, | |
| 35 | + | { '>', 1, "mogrify -rotate +90 #" } | |
| 39 | 36 | }; | |
| 40 | − | #endif | |
| 41 | − | #endif | |
| @@ -18,10 +18,10 @@ | |||
| 18 | 18 | ||
| 19 | 19 | #include <unistd.h> | |
| 20 | 20 | ||
| 21 | − | #include "config.h" | |
| 22 | 21 | #include "image.h" | |
| 23 | 22 | #include "options.h" | |
| 24 | 23 | #include "util.h" | |
| 24 | + | #include "config.h" | |
| 25 | 25 | ||
| 26 | 26 | int zl_cnt; | |
| 27 | 27 | float zoom_min; | |
| @@ -275,25 +275,25 @@ int img_move(img_t *img, win_t *win, int dx, int dy) { | |||
| 275 | 275 | return ox != img->x || oy != img->y; | |
| 276 | 276 | } | |
| 277 | 277 | ||
| 278 | − | int img_pan(img_t *img, win_t *win, pandir_t dir, int page) { | |
| 278 | + | int img_pan(img_t *img, win_t *win, direction_t dir, int page) { | |
| 279 | 279 | if (!img || !img->im || !win) | |
| 280 | 280 | return 0; | |
| 281 | 281 | ||
| 282 | 282 | switch (dir) { | |
| 283 | − | case PAN_LEFT: | |
| 283 | + | case DIR_LEFT: | |
| 284 | 284 | return img_move(img, win, win->w / (page ? 1 : 5), 0); | |
| 285 | − | case PAN_RIGHT: | |
| 285 | + | case DIR_RIGHT: | |
| 286 | 286 | return img_move(img, win, win->w / (page ? 1 : 5) * -1, 0); | |
| 287 | − | case PAN_UP: | |
| 287 | + | case DIR_UP: | |
| 288 | 288 | return img_move(img, win, 0, win->h / (page ? 1 : 5)); | |
| 289 | − | case PAN_DOWN: | |
| 289 | + | case DIR_DOWN: | |
| 290 | 290 | return img_move(img, win, 0, win->h / (page ? 1 : 5) * -1); | |
| 291 | 291 | } | |
| 292 | 292 | ||
| 293 | 293 | return 0; | |
| 294 | 294 | } | |
| 295 | 295 | ||
| 296 | − | int img_pan_edge(img_t *img, win_t *win, pandir_t dir) { | |
| 296 | + | int img_pan_edge(img_t *img, win_t *win, direction_t dir) { | |
| 297 | 297 | int ox, oy; | |
| 298 | 298 | ||
| 299 | 299 | if (!img || !img->im || !win) | |
| @@ -303,16 +303,16 @@ int img_pan_edge(img_t *img, win_t *win, pandir_t dir) { | |||
| 303 | 303 | oy = img->y; | |
| 304 | 304 | ||
| 305 | 305 | switch (dir) { | |
| 306 | − | case PAN_LEFT: | |
| 306 | + | case DIR_LEFT: | |
| 307 | 307 | img->x = 0; | |
| 308 | 308 | break; | |
| 309 | − | case PAN_RIGHT: | |
| 309 | + | case DIR_RIGHT: | |
| 310 | 310 | img->x = win->w - img->w * img->zoom; | |
| 311 | 311 | break; | |
| 312 | − | case PAN_UP: | |
| 312 | + | case DIR_UP: | |
| 313 | 313 | img->y = 0; | |
| 314 | 314 | break; | |
| 315 | − | case PAN_DOWN: | |
| 315 | + | case DIR_DOWN: | |
| 316 | 316 | img->y = win->h - img->h * img->zoom; | |
| 317 | 317 | break; | |
| 318 | 318 | } | |
| @@ -21,21 +21,9 @@ | |||
| 21 | 21 | ||
| 22 | 22 | #include <Imlib2.h> | |
| 23 | 23 | ||
| 24 | + | #include "types.h" | |
| 24 | 25 | #include "window.h" | |
| 25 | 26 | ||
| 26 | − | typedef enum { | |
| 27 | − | SCALE_DOWN = 0, | |
| 28 | − | SCALE_FIT, | |
| 29 | − | SCALE_ZOOM | |
| 30 | − | } scalemode_t; | |
| 31 | − | ||
| 32 | − | typedef enum { | |
| 33 | − | PAN_LEFT = 0, | |
| 34 | − | PAN_RIGHT, | |
| 35 | − | PAN_UP, | |
| 36 | − | PAN_DOWN | |
| 37 | − | } pandir_t; | |
| 38 | − | ||
| 39 | 27 | typedef struct { | |
| 40 | 28 | Imlib_Image *im; | |
| 41 | 29 | ||
| @@ -68,8 +56,8 @@ int img_zoom_in(img_t*, win_t*); | |||
| 68 | 56 | int img_zoom_out(img_t*, win_t*); | |
| 69 | 57 | ||
| 70 | 58 | int img_move(img_t*, win_t*, int, int); | |
| 71 | − | int img_pan(img_t*, win_t*, pandir_t, int); | |
| 72 | − | int img_pan_edge(img_t*, win_t*, pandir_t); | |
| 59 | + | int img_pan(img_t*, win_t*, direction_t, int); | |
| 60 | + | int img_pan_edge(img_t*, win_t*, direction_t); | |
| 73 | 61 | ||
| 74 | 62 | void img_rotate_left(img_t*, win_t*); | |
| 75 | 63 | void img_rotate_right(img_t*, win_t*); | |
| @@ -34,26 +34,13 @@ | |||
| 34 | 34 | #include "image.h" | |
| 35 | 35 | #include "options.h" | |
| 36 | 36 | #include "thumbs.h" | |
| 37 | + | #include "types.h" | |
| 37 | 38 | #include "util.h" | |
| 38 | 39 | #include "window.h" | |
| 39 | − | ||
| 40 | − | #define FNAME_CNT 1024 | |
| 41 | − | #define TITLE_LEN 256 | |
| 42 | − | ||
| 43 | − | typedef enum { | |
| 44 | − | MODE_NORMAL = 0, | |
| 45 | − | MODE_THUMBS | |
| 46 | − | } appmode_t; | |
| 47 | − | ||
| 48 | − | typedef struct { | |
| 49 | − | KeySym ksym; | |
| 50 | − | Bool reload; | |
| 51 | − | const char *cmdline; | |
| 52 | − | } command_t; | |
| 53 | − | ||
| 54 | − | #define MAIN_C | |
| 55 | 40 | #include "config.h" | |
| 56 | 41 | ||
| 42 | + | enum { TITLE_LEN = 256, FNAME_CNT = 1024 }; | |
| 43 | + | ||
| 57 | 44 | void run(); | |
| 58 | 45 | ||
| 59 | 46 | appmode_t mode; | |
| @@ -266,7 +253,6 @@ int main(int argc, char **argv) { | |||
| 266 | 253 | return 0; | |
| 267 | 254 | } | |
| 268 | 255 | ||
| 269 | − | #if EXT_COMMANDS | |
| 270 | 256 | int run_command(const char *cline, Bool reload) { | |
| 271 | 257 | int fncnt, fnlen; | |
| 272 | 258 | char *cn, *cmdline; | |
| @@ -322,16 +308,17 @@ int run_command(const char *cline, Bool reload) { | |||
| 322 | 308 | free(cmdline); | |
| 323 | 309 | return ret; | |
| 324 | 310 | } | |
| 325 | − | #endif /* EXT_COMMANDS */ | |
| 326 | 311 | ||
| 327 | 312 | ||
| 328 | 313 | /* event handling */ | |
| 329 | 314 | ||
| 330 | 315 | /* timeouts in milliseconds: */ | |
| 331 | − | #define TO_WIN_RESIZE 75 | |
| 332 | − | #define TO_IMAGE_DRAG 1 | |
| 333 | − | #define TO_CURSOR_HIDE 1500 | |
| 334 | − | #define TO_THUMBS_LOAD 200 | |
| 316 | + | enum { | |
| 317 | + | TO_WIN_RESIZE = 75, | |
| 318 | + | TO_IMAGE_DRAG = 1, | |
| 319 | + | TO_CURSOR_HIDE = 1500, | |
| 320 | + | TO_THUMBS_LOAD = 200 | |
| 321 | + | }; | |
| 335 | 322 | ||
| 336 | 323 | int timo_cursor; | |
| 337 | 324 | int timo_redraw; | |
| @@ -366,11 +353,10 @@ void on_keypress(XKeyEvent *kev) { | |||
| 366 | 353 | changed = 0; | |
| 367 | 354 | ctrl = CLEANMASK(kev->state) & ControlMask; | |
| 368 | 355 | ||
| 369 | − | #if EXT_COMMANDS | |
| 370 | 356 | /* external commands from commands.h */ | |
| 371 | − | if (ctrl) { | |
| 357 | + | if (EXT_COMMANDS && ctrl) { | |
| 372 | 358 | for (x = 0; x < LEN(commands); ++x) { | |
| 373 | − | if (commands[x].ksym == ksym) { | |
| 359 | + | if (commands[x].key == key) { | |
| 374 | 360 | win_set_cursor(&win, CURSOR_WATCH); | |
| 375 | 361 | if (run_command(commands[x].cmdline, commands[x].reload)) { | |
| 376 | 362 | if (mode == MODE_NORMAL) { | |
| @@ -396,7 +382,6 @@ void on_keypress(XKeyEvent *kev) { | |||
| 396 | 382 | } | |
| 397 | 383 | } | |
| 398 | 384 | } | |
| 399 | − | #endif | |
| 400 | 385 | ||
| 401 | 386 | if (mode == MODE_NORMAL) { | |
| 402 | 387 | switch (ksym) { | |
| @@ -450,38 +435,38 @@ void on_keypress(XKeyEvent *kev) { | |||
| 450 | 435 | /* panning */ | |
| 451 | 436 | case XK_h: | |
| 452 | 437 | case XK_Left: | |
| 453 | − | changed = img_pan(&img, &win, PAN_LEFT, ctrl); | |
| 438 | + | changed = img_pan(&img, &win, DIR_LEFT, ctrl); | |
| 454 | 439 | break; | |
| 455 | 440 | case XK_j: | |
| 456 | 441 | case XK_Down: | |
| 457 | − | changed = img_pan(&img, &win, PAN_DOWN, ctrl); | |
| 442 | + | changed = img_pan(&img, &win, DIR_DOWN, ctrl); | |
| 458 | 443 | break; | |
| 459 | 444 | case XK_k: | |
| 460 | 445 | case XK_Up: | |
| 461 | − | changed = img_pan(&img, &win, PAN_UP, ctrl); | |
| 446 | + | changed = img_pan(&img, &win, DIR_UP, ctrl); | |
| 462 | 447 | break; | |
| 463 | 448 | case XK_l: | |
| 464 | 449 | case XK_Right: | |
| 465 | − | changed = img_pan(&img, &win, PAN_RIGHT, ctrl); | |
| 450 | + | changed = img_pan(&img, &win, DIR_RIGHT, ctrl); | |
| 466 | 451 | break; | |
| 467 | 452 | case XK_Prior: | |
| 468 | − | changed = img_pan(&img, &win, PAN_UP, 1); | |
| 453 | + | changed = img_pan(&img, &win, DIR_UP, 1); | |
| 469 | 454 | break; | |
| 470 | 455 | case XK_Next: | |
| 471 | − | changed = img_pan(&img, &win, PAN_DOWN, 1); | |
| 456 | + | changed = img_pan(&img, &win, DIR_DOWN, 1); | |
| 472 | 457 | break; | |
| 473 | 458 | ||
| 474 | 459 | case XK_H: | |
| 475 | − | changed = img_pan_edge(&img, &win, PAN_LEFT); | |
| 460 | + | changed = img_pan_edge(&img, &win, DIR_LEFT); | |
| 476 | 461 | break; | |
| 477 | 462 | case XK_J: | |
| 478 | − | changed = img_pan_edge(&img, &win, PAN_DOWN); | |
| 463 | + | changed = img_pan_edge(&img, &win, DIR_DOWN); | |
| 479 | 464 | break; | |
| 480 | 465 | case XK_K: | |
| 481 | − | changed = img_pan_edge(&img, &win, PAN_UP); | |
| 466 | + | changed = img_pan_edge(&img, &win, DIR_UP); | |
| 482 | 467 | break; | |
| 483 | 468 | case XK_L: | |
| 484 | − | changed = img_pan_edge(&img, &win, PAN_RIGHT); | |
| 469 | + | changed = img_pan_edge(&img, &win, DIR_RIGHT); | |
| 485 | 470 | break; | |
| 486 | 471 | ||
| 487 | 472 | /* rotation */ | |
| @@ -548,19 +533,19 @@ void on_keypress(XKeyEvent *kev) { | |||
| 548 | 533 | /* move selection */ | |
| 549 | 534 | case XK_h: | |
| 550 | 535 | case XK_Left: | |
| 551 | − | changed = tns_move_selection(&tns, &win, TNS_LEFT); | |
| 536 | + | changed = tns_move_selection(&tns, &win, DIR_LEFT); | |
| 552 | 537 | break; | |
| 553 | 538 | case XK_j: | |
| 554 | 539 | case XK_Down: | |
| 555 | − | changed = tns_move_selection(&tns, &win, TNS_DOWN); | |
| 540 | + | changed = tns_move_selection(&tns, &win, DIR_DOWN); | |
| 556 | 541 | break; | |
| 557 | 542 | case XK_k: | |
| 558 | 543 | case XK_Up: | |
| 559 | − | changed = tns_move_selection(&tns, &win, TNS_UP); | |
| 544 | + | changed = tns_move_selection(&tns, &win, DIR_UP); | |
| 560 | 545 | break; | |
| 561 | 546 | case XK_l: | |
| 562 | 547 | case XK_Right: | |
| 563 | − | changed = tns_move_selection(&tns, &win, TNS_RIGHT); | |
| 548 | + | changed = tns_move_selection(&tns, &win, DIR_RIGHT); | |
| 564 | 549 | break; | |
| 565 | 550 | case XK_g: | |
| 566 | 551 | if (tns.sel != 0) { | |
| @@ -642,23 +627,23 @@ void on_buttonpress(XButtonEvent *bev) { | |||
| 642 | 627 | if (mask == ControlMask) | |
| 643 | 628 | changed = img_zoom_in(&img, &win); | |
| 644 | 629 | else if (mask == ShiftMask) | |
| 645 | − | changed = img_pan(&img, &win, PAN_LEFT, 0); | |
| 630 | + | changed = img_pan(&img, &win, DIR_LEFT, 0); | |
| 646 | 631 | else | |
| 647 | − | changed = img_pan(&img, &win, PAN_UP, 0); | |
| 632 | + | changed = img_pan(&img, &win, DIR_UP, 0); | |
| 648 | 633 | break; | |
| 649 | 634 | case Button5: | |
| 650 | 635 | if (mask == ControlMask) | |
| 651 | 636 | changed = img_zoom_out(&img, &win); | |
| 652 | 637 | else if (mask == ShiftMask) | |
| 653 | − | changed = img_pan(&img, &win, PAN_RIGHT, 0); | |
| 638 | + | changed = img_pan(&img, &win, DIR_RIGHT, 0); | |
| 654 | 639 | else | |
| 655 | − | changed = img_pan(&img, &win, PAN_DOWN, 0); | |
| 640 | + | changed = img_pan(&img, &win, DIR_DOWN, 0); | |
| 656 | 641 | break; | |
| 657 | 642 | case 6: | |
| 658 | − | changed = img_pan(&img, &win, PAN_LEFT, 0); | |
| 643 | + | changed = img_pan(&img, &win, DIR_LEFT, 0); | |
| 659 | 644 | break; | |
| 660 | 645 | case 7: | |
| 661 | − | changed = img_pan(&img, &win, PAN_RIGHT, 0); | |
| 646 | + | changed = img_pan(&img, &win, DIR_RIGHT, 0); | |
| 662 | 647 | break; | |
| 663 | 648 | } | |
| 664 | 649 | } else { | |
| @@ -680,10 +665,10 @@ void on_buttonpress(XButtonEvent *bev) { | |||
| 680 | 665 | } | |
| 681 | 666 | break; | |
| 682 | 667 | case Button4: | |
| 683 | − | changed = tns_scroll(&tns, TNS_UP); | |
| 668 | + | changed = tns_scroll(&tns, DIR_UP); | |
| 684 | 669 | break; | |
| 685 | 670 | case Button5: | |
| 686 | − | changed = tns_scroll(&tns, TNS_DOWN); | |
| 671 | + | changed = tns_scroll(&tns, DIR_DOWN); | |
| 687 | 672 | break; | |
| 688 | 673 | } | |
| 689 | 674 | } | |
| @@ -23,9 +23,9 @@ | |||
| 23 | 23 | #include <stdio.h> | |
| 24 | 24 | #include <unistd.h> | |
| 25 | 25 | ||
| 26 | − | #include "config.h" | |
| 27 | 26 | #include "options.h" | |
| 28 | 27 | #include "util.h" | |
| 28 | + | #include "config.h" | |
| 29 | 29 | ||
| 30 | 30 | options_t _options; | |
| 31 | 31 | const options_t *options = (const options_t*) &_options; | |
| @@ -20,6 +20,7 @@ | |||
| 20 | 20 | #define OPTIONS_H | |
| 21 | 21 | ||
| 22 | 22 | #include "image.h" | |
| 23 | + | #include "types.h" | |
| 23 | 24 | ||
| 24 | 25 | typedef struct { | |
| 25 | 26 | char **filenames; | |
| @@ -23,9 +23,9 @@ | |||
| 23 | 23 | #include <sys/stat.h> | |
| 24 | 24 | #include <unistd.h> | |
| 25 | 25 | ||
| 26 | − | #include "config.h" | |
| 27 | 26 | #include "thumbs.h" | |
| 28 | 27 | #include "util.h" | |
| 28 | + | #include "config.h" | |
| 29 | 29 | ||
| 30 | 30 | #ifdef __NetBSD__ | |
| 31 | 31 | #define st_mtim st_mtimespec | |
| @@ -380,7 +380,7 @@ void tns_highlight(tns_t *tns, win_t *win, int n, Bool hl) { | |||
| 380 | 380 | win_draw(win); | |
| 381 | 381 | } | |
| 382 | 382 | ||
| 383 | − | int tns_move_selection(tns_t *tns, win_t *win, tnsdir_t dir) { | |
| 383 | + | int tns_move_selection(tns_t *tns, win_t *win, direction_t dir) { | |
| 384 | 384 | int old; | |
| 385 | 385 | ||
| 386 | 386 | if (!tns || !tns->thumbs || !win) | |
| @@ -389,19 +389,19 @@ int tns_move_selection(tns_t *tns, win_t *win, tnsdir_t dir) { | |||
| 389 | 389 | old = tns->sel; | |
| 390 | 390 | ||
| 391 | 391 | switch (dir) { | |
| 392 | − | case TNS_LEFT: | |
| 392 | + | case DIR_LEFT: | |
| 393 | 393 | if (tns->sel > 0) | |
| 394 | 394 | --tns->sel; | |
| 395 | 395 | break; | |
| 396 | − | case TNS_RIGHT: | |
| 396 | + | case DIR_RIGHT: | |
| 397 | 397 | if (tns->sel < tns->cnt - 1) | |
| 398 | 398 | ++tns->sel; | |
| 399 | 399 | break; | |
| 400 | − | case TNS_UP: | |
| 400 | + | case DIR_UP: | |
| 401 | 401 | if (tns->sel >= tns->cols) | |
| 402 | 402 | tns->sel -= tns->cols; | |
| 403 | 403 | break; | |
| 404 | − | case TNS_DOWN: | |
| 404 | + | case DIR_DOWN: | |
| 405 | 405 | if (tns->sel + tns->cols < tns->cnt) | |
| 406 | 406 | tns->sel += tns->cols; | |
| 407 | 407 | break; | |
| @@ -417,7 +417,7 @@ int tns_move_selection(tns_t *tns, win_t *win, tnsdir_t dir) { | |||
| 417 | 417 | return tns->sel != old; | |
| 418 | 418 | } | |
| 419 | 419 | ||
| 420 | − | int tns_scroll(tns_t *tns, tnsdir_t dir) { | |
| 420 | + | int tns_scroll(tns_t *tns, direction_t dir) { | |
| 421 | 421 | int old; | |
| 422 | 422 | ||
| 423 | 423 | if (!tns) | |
| @@ -425,11 +425,11 @@ int tns_scroll(tns_t *tns, tnsdir_t dir) { | |||
| 425 | 425 | ||
| 426 | 426 | old = tns->first; | |
| 427 | 427 | ||
| 428 | − | if (dir == TNS_DOWN && tns->first + tns->cols * tns->rows < tns->cnt) { | |
| 428 | + | if (dir == DIR_DOWN && tns->first + tns->cols * tns->rows < tns->cnt) { | |
| 429 | 429 | tns->first += tns->cols; | |
| 430 | 430 | tns_check_view(tns, True); | |
| 431 | 431 | tns->dirty = 1; | |
| 432 | − | } else if (dir == TNS_UP && tns->first >= tns->cols) { | |
| 432 | + | } else if (dir == DIR_UP && tns->first >= tns->cols) { | |
| 433 | 433 | tns->first -= tns->cols; | |
| 434 | 434 | tns_check_view(tns, True); | |
| 435 | 435 | tns->dirty = 1; | |
| @@ -21,15 +21,9 @@ | |||
| 21 | 21 | ||
| 22 | 22 | #include <Imlib2.h> | |
| 23 | 23 | ||
| 24 | + | #include "types.h" | |
| 24 | 25 | #include "window.h" | |
| 25 | 26 | ||
| 26 | − | typedef enum { | |
| 27 | − | TNS_LEFT = 0, | |
| 28 | − | TNS_RIGHT, | |
| 29 | − | TNS_UP, | |
| 30 | − | TNS_DOWN | |
| 31 | − | } tnsdir_t; | |
| 32 | − | ||
| 33 | 27 | typedef struct { | |
| 34 | 28 | Imlib_Image *im; | |
| 35 | 29 | const char *filename; | |
| @@ -62,8 +56,8 @@ int tns_load(tns_t*, int, const char*, unsigned char); | |||
| 62 | 56 | void tns_render(tns_t*, win_t*); | |
| 63 | 57 | void tns_highlight(tns_t*, win_t*, int, Bool); | |
| 64 | 58 | ||
| 65 | − | int tns_move_selection(tns_t*, win_t*, tnsdir_t); | |
| 66 | − | int tns_scroll(tns_t*, tnsdir_t); | |
| 59 | + | int tns_move_selection(tns_t*, win_t*, direction_t); | |
| 60 | + | int tns_scroll(tns_t*, direction_t); | |
| 67 | 61 | ||
| 68 | 62 | int tns_translate(tns_t*, int, int); | |
| 69 | 63 | ||
| @@ -0,0 +1,35 @@ | |||
| 1 | + | #ifndef TYPES_H | |
| 2 | + | #define TYPES_H | |
| 3 | + | ||
| 4 | + | typedef enum { | |
| 5 | + | MODE_NORMAL = 0, | |
| 6 | + | MODE_THUMBS | |
| 7 | + | } appmode_t; | |
| 8 | + | ||
| 9 | + | typedef struct { | |
| 10 | + | char key; | |
| 11 | + | int reload; | |
| 12 | + | const char *cmdline; | |
| 13 | + | } command_t; | |
| 14 | + | ||
| 15 | + | typedef enum { | |
| 16 | + | DIR_LEFT = 0, | |
| 17 | + | DIR_RIGHT, | |
| 18 | + | DIR_UP, | |
| 19 | + | DIR_DOWN | |
| 20 | + | } direction_t; | |
| 21 | + | ||
| 22 | + | typedef enum { | |
| 23 | + | SCALE_DOWN = 0, | |
| 24 | + | SCALE_FIT, | |
| 25 | + | SCALE_ZOOM | |
| 26 | + | } scalemode_t; | |
| 27 | + | ||
| 28 | + | typedef enum { | |
| 29 | + | CURSOR_ARROW = 0, | |
| 30 | + | CURSOR_NONE, | |
| 31 | + | CURSOR_HAND, | |
| 32 | + | CURSOR_WATCH | |
| 33 | + | } cursor_t; | |
| 34 | + | ||
| 35 | + | #endif /* TYPES_H */ | |
| @@ -21,10 +21,10 @@ | |||
| 21 | 21 | #include <X11/Xutil.h> | |
| 22 | 22 | #include <X11/cursorfont.h> | |
| 23 | 23 | ||
| 24 | − | #include "config.h" | |
| 25 | 24 | #include "options.h" | |
| 26 | 25 | #include "util.h" | |
| 27 | 26 | #include "window.h" | |
| 27 | + | #include "config.h" | |
| 28 | 28 | ||
| 29 | 29 | static Cursor carrow; | |
| 30 | 30 | static Cursor cnone; | |
| @@ -312,7 +312,7 @@ void win_set_title(win_t *win, const char *title) { | |||
| 312 | 312 | PropModeReplace, (unsigned char *) title, strlen(title)); | |
| 313 | 313 | } | |
| 314 | 314 | ||
| 315 | − | void win_set_cursor(win_t *win, win_cur_t cursor) { | |
| 315 | + | void win_set_cursor(win_t *win, cursor_t cursor) { | |
| 316 | 316 | if (!win || !win->xwin) | |
| 317 | 317 | return; | |
| 318 | 318 | ||
| @@ -21,14 +21,9 @@ | |||
| 21 | 21 | ||
| 22 | 22 | #include <X11/Xlib.h> | |
| 23 | 23 | ||
| 24 | − | #define CLEANMASK(mask) ((mask) & ~LockMask) | |
| 24 | + | #include "types.h" | |
| 25 | 25 | ||
| 26 | − | typedef enum { | |
| 27 | − | CURSOR_ARROW = 0, | |
| 28 | − | CURSOR_NONE, | |
| 29 | − | CURSOR_HAND, | |
| 30 | − | CURSOR_WATCH | |
| 31 | − | } win_cur_t; | |
| 26 | + | #define CLEANMASK(mask) ((mask) & ~LockMask) | |
| 32 | 27 | ||
| 33 | 28 | typedef struct { | |
| 34 | 29 | Display *dpy; | |
| @@ -75,6 +70,6 @@ void win_draw_rect(win_t*, Pixmap, int, int, int, int, Bool, int, | |||
| 75 | 70 | unsigned long); | |
| 76 | 71 | ||
| 77 | 72 | void win_set_title(win_t*, const char*); | |
| 78 | − | void win_set_cursor(win_t*, win_cur_t); | |
| 73 | + | void win_set_cursor(win_t*, cursor_t); | |
| 79 | 74 | ||
| 80 | 75 | #endif /* WINDOW_H */ | |