Mercurial > geeqie.yaz
comparison src/layout_image.c @ 879:0f85435ac335
Optimize a bit when connected zoom and scrolling are unset,
just move the test outside loops.
author | zas_ |
---|---|
date | Fri, 04 Jul 2008 20:32:48 +0000 |
parents | 371a1c3d4504 |
children | ad420f2eb789 |
comparison
equal
deleted
inserted
replaced
878:1b14c0e177ad | 879:0f85435ac335 |
---|---|
1051 gint width, height, i; | 1051 gint width, height, i; |
1052 if (!layout_valid(&lw)) return; | 1052 if (!layout_valid(&lw)) return; |
1053 | 1053 |
1054 image_scroll(lw->image, x, y); | 1054 image_scroll(lw->image, x, y); |
1055 | 1055 |
1056 if (!lw->connect_scroll) return; | |
1057 | |
1056 image_get_image_size(lw->image, &width, &height); | 1058 image_get_image_size(lw->image, &width, &height); |
1057 dx = (gdouble) x / width; | 1059 dx = (gdouble) x / width; |
1058 dy = (gdouble) y / height; | 1060 dy = (gdouble) y / height; |
1059 | 1061 |
1060 for (i = 0; i < MAX_SPLIT_IMAGES; i++) | 1062 for (i = 0; i < MAX_SPLIT_IMAGES; i++) |
1061 { | 1063 { |
1062 if (lw->split_images[i] && lw->split_images[i] != lw->image && lw->connect_scroll) | 1064 if (lw->split_images[i] && lw->split_images[i] != lw->image) |
1063 { | 1065 { |
1064 gdouble sx, sy; | 1066 gdouble sx, sy; |
1065 image_get_scroll_center(lw->split_images[i], &sx, &sy); | 1067 image_get_scroll_center(lw->split_images[i], &sx, &sy); |
1066 sx += dx; | 1068 sx += dx; |
1067 sy += dy; | 1069 sy += dy; |
1076 gint i; | 1078 gint i; |
1077 if (!layout_valid(&lw)) return; | 1079 if (!layout_valid(&lw)) return; |
1078 | 1080 |
1079 image_zoom_adjust(lw->image, increment); | 1081 image_zoom_adjust(lw->image, increment); |
1080 | 1082 |
1083 if (!lw->connect_zoom) return; | |
1084 | |
1081 for (i = 0; i < MAX_SPLIT_IMAGES; i++) | 1085 for (i = 0; i < MAX_SPLIT_IMAGES; i++) |
1082 { | 1086 { |
1083 if (lw->split_images[i] && lw->split_images[i] != lw->image && lw->connect_zoom) | 1087 if (lw->split_images[i] && lw->split_images[i] != lw->image) |
1084 image_zoom_adjust(lw->split_images[i], increment); ; | 1088 image_zoom_adjust(lw->split_images[i], increment); ; |
1085 } | 1089 } |
1086 } | 1090 } |
1087 | 1091 |
1088 void layout_image_zoom_adjust_at_point(LayoutWindow *lw, gdouble increment, gint x, gint y) | 1092 void layout_image_zoom_adjust_at_point(LayoutWindow *lw, gdouble increment, gint x, gint y) |
1090 gint i; | 1094 gint i; |
1091 if (!layout_valid(&lw)) return; | 1095 if (!layout_valid(&lw)) return; |
1092 | 1096 |
1093 image_zoom_adjust_at_point(lw->image, increment, x, y); | 1097 image_zoom_adjust_at_point(lw->image, increment, x, y); |
1094 | 1098 |
1099 if (!lw->connect_zoom) return; | |
1100 | |
1095 for (i = 0; i < MAX_SPLIT_IMAGES; i++) | 1101 for (i = 0; i < MAX_SPLIT_IMAGES; i++) |
1096 { | 1102 { |
1097 if (lw->split_images[i] && lw->split_images[i] != lw->image && lw->connect_zoom) | 1103 if (lw->split_images[i] && lw->split_images[i] != lw->image) |
1098 image_zoom_adjust_at_point(lw->split_images[i], increment, x, y); | 1104 image_zoom_adjust_at_point(lw->split_images[i], increment, x, y); |
1099 } | 1105 } |
1100 } | 1106 } |
1101 | 1107 |
1102 void layout_image_zoom_set(LayoutWindow *lw, gdouble zoom) | 1108 void layout_image_zoom_set(LayoutWindow *lw, gdouble zoom) |
1104 gint i; | 1110 gint i; |
1105 if (!layout_valid(&lw)) return; | 1111 if (!layout_valid(&lw)) return; |
1106 | 1112 |
1107 image_zoom_set(lw->image, zoom); | 1113 image_zoom_set(lw->image, zoom); |
1108 | 1114 |
1109 for (i=0; i < MAX_SPLIT_IMAGES; i++) | 1115 if (!lw->connect_zoom) return; |
1110 { | 1116 |
1111 if (lw->split_images[i] && lw->split_images[i] != lw->image && lw->connect_zoom) | 1117 for (i = 0; i < MAX_SPLIT_IMAGES; i++) |
1118 { | |
1119 if (lw->split_images[i] && lw->split_images[i] != lw->image) | |
1112 image_zoom_set(lw->split_images[i], zoom); | 1120 image_zoom_set(lw->split_images[i], zoom); |
1113 } | 1121 } |
1114 } | 1122 } |
1115 | 1123 |
1116 void layout_image_zoom_set_fill_geometry(LayoutWindow *lw, gint vertical) | 1124 void layout_image_zoom_set_fill_geometry(LayoutWindow *lw, gint vertical) |