chiark
/
gitweb
/
~yarrgweb
/
ypp-sc-tools.db-live.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'ijackson'
[ypp-sc-tools.db-live.git]
/
pctb
/
pages.c
diff --git
a/pctb/pages.c
b/pctb/pages.c
index 010299948d929d3f1ce247d683de11b900bb6697..72f9bb478a982f5b0206af12c2cc0b6209c6df83 100644
(file)
--- a/
pctb/pages.c
+++ b/
pctb/pages.c
@@
-52,6
+52,7
@@
static Display *disp;
static struct timeval tv_startup;
static unsigned wwidth, wheight;
static int max_relevant_y= -1;
static struct timeval tv_startup;
static unsigned wwidth, wheight;
static int max_relevant_y= -1;
+static Point commod_focus_point, commod_page_point, commod_focuslast_point;
static XImage *shmim;
static XShmSegmentInfo shminfo;
static XImage *shmim;
static XShmSegmentInfo shminfo;
@@
-104,6
+105,9
@@
static void translate_coords_toroot(int wx, int wy, int *rx, int *ry) {
Window dummy;
xassert( XTranslateCoordinates(disp, id,attr.root, wx,wy, rx,ry, &dummy) );
}
Window dummy;
xassert( XTranslateCoordinates(disp, id,attr.root, wx,wy, rx,ry, &dummy) );
}
+static void translate_coords_toroot_p(Point w, int *rx, int *ry) {
+ translate_coords_toroot(w.x, w.y, rx, ry);
+}
static void check_client_window_all_on_screen(void) {
Rect onroot;
static void check_client_window_all_on_screen(void) {
Rect onroot;
@@
-160,8
+164,8
@@
static void send_key(KeySym sym) {
}
static void mouse_1_updown_here(void) {
check_not_disturbed();
}
static void mouse_1_updown_here(void) {
check_not_disturbed();
- XTestFakeButtonEvent(disp,1,1,
5
0);
- XTestFakeButtonEvent(disp,1,0,
5
0);
+ XTestFakeButtonEvent(disp,1,1,
1
0);
+ XTestFakeButtonEvent(disp,1,0,
1
0);
}
static void mouse_1_updown(int x, int y) {
check_not_disturbed();
}
static void mouse_1_updown(int x, int y) {
check_not_disturbed();
@@
-171,6
+175,12
@@
static void mouse_1_updown(int x, int y) {
XTestFakeMotionEvent(disp, screen, xpos,ypos, 0);
mouse_1_updown_here();
}
XTestFakeMotionEvent(disp, screen, xpos,ypos, 0);
mouse_1_updown_here();
}
+static void pgdown_by_mouse(void) {
+ check_not_disturbed();
+ debugf("PAGING Mouse\n");
+ mouse_1_updown_here();
+ sync_after_input();
+}
static int pgupdown;
static int pgupdown;
@@
-183,12
+193,6
@@
static void send_pgup_many(void) {
debugf("PAGING PageUp x %d\n",i);
sync_after_input();
}
debugf("PAGING PageUp x %d\n",i);
sync_after_input();
}
-static void send_pgdown(void) {
- send_key(XK_Next);
- pgupdown++;
- debugf("PAGING PageDown\n");
- sync_after_input();
-}
static void send_pgdown_torestore(void) {
debugf("PAGING PageDown x %d\n", -pgupdown);
while (pgupdown < 0) {
static void send_pgdown_torestore(void) {
debugf("PAGING PageDown x %d\n", -pgupdown);
while (pgupdown < 0) {
@@
-497,7
+501,7
@@
static void set_focus_commodity(void) {
debugf("PAGING set_focus\n");
debugf("PAGING set_focus\n");
- mouse_1_updown(
160,160
);
+ mouse_1_updown(
commod_focus_point.x, commod_focus_point.y
);
sync_after_input();
delay(0.5);
sync_after_input();
delay(0.5);
@@
-508,8
+512,8
@@
static void set_focus_commodity(void) {
) );
int xpos,ypos;
) );
int xpos,ypos;
- translate_coords_toroot
(10,10
, &xpos,&ypos);
- XTestFakeMotionEvent(disp,screen, xpos,ypos, 0);
+ translate_coords_toroot
_p(commod_page_point
, &xpos,&ypos);
+ XTestFakeMotionEvent(disp,
screen, xpos,ypos, 0);
sync_after_input();
sync_after_input();
@@
-543,7
+547,10
@@
static void prepare_ypp_client(void) {
wait_for_stability(¤t,0,0, "checking current YPP client screen...");
test= convert_page(current);
wait_for_stability(¤t,0,0, "checking current YPP client screen...");
test= convert_page(current);
- find_structure(test, &max_relevant_y);
+ find_structure(test, &max_relevant_y,
+ &commod_focus_point,
+ &commod_page_point,
+ &commod_focuslast_point);
check_correct_commodities();
Rect sunshine= find_sunshine_widget();
check_correct_commodities();
Rect sunshine= find_sunshine_widget();
@@
-603,11
+610,14
@@
void take_screenshots(void) {
break;
}
break;
}
-
send_pgdown
();
+
pgdown_by_mouse
();
npages++;
}
progress("finishing with the YPP client...");
npages++;
}
progress("finishing with the YPP client...");
+ mouse_1_updown(commod_focuslast_point.x, commod_focuslast_point.y);
+ sync_after_input();
send_pgdown_torestore();
send_pgdown_torestore();
+ sync_after_input();
debugf("PAGING all done.\n");
progress_log("collected %d screenshots.",npages);
debugf("PAGING all done.\n");
progress_log("collected %d screenshots.",npages);