… | |
… | |
107 | return lerp (window_size - image_size, window_size, align - 100); |
107 | return lerp (window_size - image_size, window_size, align - 100); |
108 | else |
108 | else |
109 | return lerp (-image_size, 0, align + 100); |
109 | return lerp (-image_size, 0, align + 100); |
110 | } |
110 | } |
111 | |
111 | |
112 | static inline int |
|
|
113 | make_clip_rectangle (int pos, int size, int target_size, int &dst_pos, int &dst_size) |
|
|
114 | { |
|
|
115 | int src_pos = 0; |
|
|
116 | dst_pos = pos; |
|
|
117 | dst_size = size; |
|
|
118 | if (pos < 0) |
|
|
119 | { |
|
|
120 | src_pos = -pos; |
|
|
121 | dst_pos = 0; |
|
|
122 | dst_size += pos; |
|
|
123 | } |
|
|
124 | |
|
|
125 | min_it (dst_size, target_size - dst_pos); |
|
|
126 | return src_pos; |
|
|
127 | } |
|
|
128 | |
|
|
129 | static void |
112 | static void |
130 | parse_style (const char *style, int &x, int &y, unsigned int &w, unsigned int &h, uint8_t &flags) |
113 | parse_style (const char *style, int &x, int &y, unsigned int &w, unsigned int &h, uint8_t &flags) |
131 | { |
114 | { |
132 | if (!strcasecmp (style, "tiled")) |
115 | if (!strcasecmp (style, "tiled")) |
133 | { |
116 | { |