-
Notifications
You must be signed in to change notification settings - Fork 21
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
PACKAGE/DEFCONFIG: add
sdlbook
app (#99)
with miyoo&optimization changes
- Loading branch information
Showing
16 changed files
with
802 additions
and
0 deletions.
There are no files selected for viewing
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
title=SDLbook | ||
description=DJVU/PDF/EPUB viewer & more | ||
exec=/usr/bin/sdlbook | ||
manual=/mnt/manuals/sdlbook.man.txt | ||
selectordir=/mnt/books |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
SDLbook hotkeys: | ||
----------------------- | ||
A = accept | ||
B = cancel | ||
UP = scroll up | ||
DOWN = scroll down | ||
L2/R2+UP = scroll fast upwards | ||
L2/R2+DOWN = scroll fast downwards | ||
L1 = scroll one page up | ||
R1 = scroll one page down | ||
X = zoom in page | ||
Y = zoom out page | ||
SELECT = jump to inserted page number | ||
RESET = quit app | ||
START = show HELP screen |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
99 changes: 99 additions & 0 deletions
99
package/sdlbook/0001-mod-input_loop-char-result-stack-with-arrow-keys.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
From 5ed7374aa765b8e0a5380590efcefa5c6ddcdb06 Mon Sep 17 00:00:00 2001 | ||
From: Apaczer <94932128+Apaczer@users.noreply.github.com> | ||
Date: Wed, 27 Mar 2024 21:26:08 +0100 | ||
Subject: [PATCH 1/7] mod input_loop() char result stack with arrow keys | ||
|
||
--- | ||
sdlbook.c | 52 +++++++++++++++++++++++++++++++++++++++++++++++----- | ||
1 file changed, 47 insertions(+), 5 deletions(-) | ||
|
||
diff --git a/sdlbook.c b/sdlbook.c | ||
index 33a2f29..d608aba 100644 | ||
--- a/sdlbook.c | ||
+++ b/sdlbook.c | ||
@@ -589,6 +589,7 @@ static void input_loop(const char* title, char *result, enum input_flags flags) | ||
ezsdl_update_region(0, 0, ezsdl_get_width(), MIN(desired_height, ezsdl_get_height())); | ||
char* p = result; | ||
*p = 0; | ||
+ int p_n = 48; | ||
struct event event; | ||
while(1) { | ||
enum eventtypes e; | ||
@@ -597,20 +598,61 @@ static void input_loop(const char* title, char *result, enum input_flags flags) | ||
case EV_QUIT: | ||
case EV_KEYUP: | ||
switch(event.which) { | ||
- case SDLK_BACKSPACE: | ||
+ case SDLK_BACKSPACE: case SDLK_LEFT: | ||
+ if(flags == INPUT_LOOP_RET) | ||
+ goto out; | ||
if(p > result) p--; | ||
+ p_n = *(p - 1); | ||
*p = 0; | ||
goto drawit; | ||
- case SDLK_RETURN: case SDLK_ESCAPE: | ||
+ case SDLK_RIGHT: | ||
+ if(flags == INPUT_LOOP_RET) | ||
+ goto out; | ||
+ if(p - result < 20) { | ||
+ p_n = 48; | ||
+ *(p++) = p_n; | ||
+ *p = 0; | ||
+ goto drawit; | ||
+ } else | ||
+ break; | ||
+ case SDLK_RETURN: case SDLK_ESCAPE: case SDLK_g: | ||
out:; | ||
*p = 0; | ||
ezsdl_clear(); | ||
return; | ||
+ case SDLK_UP: | ||
+ if(flags == INPUT_LOOP_RET) | ||
+ goto out; | ||
+ p_n = *(p - 1); | ||
+ if(p_n < 48 || p_n > 57) p_n = 48; | ||
+ if(p >= result && p_n < 57 && (p - result < 20)) { | ||
+ if (p > result) p--; | ||
+ p_n++; | ||
+ *(p++) = p_n; | ||
+ *p = 0; | ||
+ goto drawit; | ||
+ } else | ||
+ break; | ||
+ case SDLK_DOWN: | ||
+ if(flags == INPUT_LOOP_RET) | ||
+ goto out; | ||
+ p_n = *(p - 1); | ||
+ if(p_n < 48 || p_n > 57) p_n = 48; | ||
+ if(p >= result && p_n >= 48 && (p - result < 20)) { | ||
+ if (p_n == 48 ) p_n++; | ||
+ if (p > result) p--; | ||
+ p_n--; | ||
+ *(p++) = p_n; | ||
+ *p = 0; | ||
+ goto drawit; | ||
+ } else | ||
+ break; | ||
default: | ||
if(flags == INPUT_LOOP_RET) | ||
goto out; | ||
- else if(flags == INPUT_LOOP_NUMERIC && isdigit(event.which) && (p - result < 20)) { | ||
- *(p++) = event.which; | ||
+ else if(flags == INPUT_LOOP_NUMERIC && (p - result < 20)) { | ||
+ if(isdigit(event.which)) *(p++) = event.which; | ||
+ else if (event.which == 275) *(p++) = 48; | ||
*p = 0; | ||
} | ||
drawit: | ||
@@ -865,7 +907,7 @@ int main(int argc, char **argv) { | ||
{ | ||
char buf[32]; | ||
buf[0] = 0; | ||
- input_loop("enter page no", buf, INPUT_LOOP_NUMERIC); | ||
+ input_loop("Enter page No.: (use number/arrow keys)", buf, INPUT_LOOP_NUMERIC); | ||
if(*buf) need_redraw = set_page(atoi(buf)); | ||
else need_redraw = 1; | ||
} | ||
-- | ||
2.34.1 | ||
|
Oops, something went wrong.