49
49
page->File_directory[0]='\0';
50
50
page->Filename[0]='\0';
51
51
page->File_format=DEFAULT_FILEFORMAT;
59
page->Separator_proportion=INITIAL_SEPARATOR_PROPORTION;
60
page->Main_magnifier_mode=0;
61
page->Main_magnifier_factor=DEFAULT_ZOOM_FACTOR;
62
page->Main_magnifier_height=0;
63
page->Main_magnifier_width=0;
64
page->Main_magnifier_offset_X=0;
65
page->Main_magnifier_offset_Y=0;
86
71
strcpy(Main_file_directory,page->File_directory);
87
72
strcpy(Main_filename,page->Filename);
88
73
Main_fileformat=page->File_format;
90
Main_offset_X=page->X_offset;
91
Main_offset_Y=page->Y_offset;
93
// On corrige les d�calages en fonction de la dimension de l'�cran
94
if ( (Main_offset_X>0) &&
95
(Main_offset_X+Screen_width>Main_image_width) )
96
Main_offset_X=Max(0,Main_image_width-Screen_width);
97
if ( (Main_offset_Y>0) &&
98
(Main_offset_Y+Menu_Y>Main_image_height) )
99
Main_offset_Y=Max(0,Main_image_height-Menu_Y);
101
Old_main_offset_X=page->old_offset_x;
102
Old_main_offset_Y=page->old_offset_y;
103
Main_separator_position=page->Split;
104
Main_X_zoom=page->X_zoom;
105
Main_separator_proportion=page->Separator_proportion;
106
Main_magnifier_mode=page->Main_magnifier_mode;
107
Main_magnifier_factor=page->Main_magnifier_factor;
108
Main_magnifier_height=page->Main_magnifier_height;
109
Main_magnifier_width=page->Main_magnifier_width;
110
Main_magnifier_offset_X=page->Main_magnifier_offset_X;
111
Main_magnifier_offset_Y=page->Main_magnifier_offset_Y;
113
// Comme le facteur de zoom a des chances d'avoir chang�, on appelle
114
// "Change_magnifier_factor".
115
for (factor_index=0; ZOOM_FACTOR[factor_index]!=Main_magnifier_factor; factor_index++);
116
Change_magnifier_factor(factor_index);
118
75
if (size_is_modified)
120
77
Main_magnifier_mode=0;
140
97
strcpy(page->File_directory,Main_file_directory);
141
98
strcpy(page->Filename,Main_filename);
142
99
page->File_format=Main_fileformat;
144
page->X_offset=Main_offset_X;
145
page->Y_offset=Main_offset_Y;
146
page->old_offset_x=Old_main_offset_X;
147
page->old_offset_x=Old_main_offset_Y;
148
page->Split=Main_separator_position;
149
page->X_zoom=Main_X_zoom;
150
page->Separator_proportion=Main_separator_proportion;
151
page->Main_magnifier_mode=Main_magnifier_mode;
152
page->Main_magnifier_factor=Main_magnifier_factor;
153
page->Main_magnifier_height=Main_magnifier_height;
154
page->Main_magnifier_width=Main_magnifier_width;
155
page->Main_magnifier_offset_X=Main_magnifier_offset_X;
156
page->Main_magnifier_offset_Y=Main_magnifier_offset_Y;
170
112
strcpy(Spare_file_directory,page->File_directory);
171
113
strcpy(Spare_filename,page->Filename);
172
114
Spare_fileformat=page->File_format;
174
Spare_offset_X=page->X_offset;
175
Spare_offset_Y=page->Y_offset;
176
Old_spare_offset_X=page->old_offset_x;
177
Old_spare_offset_Y=page->old_offset_y;
178
Spare_separator_position=page->Split;
179
Spare_X_zoom=page->X_zoom;
180
Spare_separator_proportion=page->Separator_proportion;
181
Spare_magnifier_mode=page->Main_magnifier_mode;
182
Spare_magnifier_factor=page->Main_magnifier_factor;
183
Spare_magnifier_height=page->Main_magnifier_height;
184
Spare_magnifier_width=page->Main_magnifier_width;
185
Spare_magnifier_offset_X=page->Main_magnifier_offset_X;
186
Spare_magnifier_offset_Y=page->Main_magnifier_offset_Y;
200
127
strcpy(page->File_directory,Spare_file_directory);
201
128
strcpy(page->Filename,Spare_filename);
202
129
page->File_format=Spare_fileformat;
204
page->X_offset=Spare_offset_X;
205
page->Y_offset=Spare_offset_Y;
206
page->old_offset_x=Old_spare_offset_X;
207
page->old_offset_y=Old_spare_offset_Y;
208
page->Split=Spare_separator_position;
209
page->X_zoom=Spare_X_zoom;
210
page->Separator_proportion=Spare_separator_proportion;
211
page->Main_magnifier_mode=Spare_magnifier_mode;
212
page->Main_magnifier_factor=Spare_magnifier_factor;
213
page->Main_magnifier_height=Spare_magnifier_height;
214
page->Main_magnifier_width=Spare_magnifier_width;
215
page->Main_magnifier_offset_X=Spare_magnifier_offset_X;
216
page->Main_magnifier_offset_Y=Spare_magnifier_offset_Y;
327
239
// Cette fonction fait l'�quivalent d'un "Undo" dans la liste de pages.
328
240
// Elle effectue une sorte de ROL (Rotation Left) sur la liste:
329
// ���������������������ͻ |
330
// �0�1�2�3�4�5�6�7�8�9�A� |
331
// ���������������������ͼ | 0=page courante
332
// � � � � � � � � � � � |_ A=page la plus ancienne
333
// v v v v v v v v v v v | 1=Derni�re page (1er backup)
334
// ���������������������ͻ |
335
// �1�2�3�4�5�6�7�8�9�A�0� |
336
// ���������������������ͼ |
241
// +---+-+-+-+-+-+-+-+-+-+ |
242
// �0�1�2�3�4�5�6�7�8�9�A� |
243
// +---+-+-+-+-+-+-+-+-+-+ | 0=page courante
244
// � � � � � � � � � � � |_ A=page la plus ancienne
245
// v v v v v v v v v v v | 1=Derni�re page (1er backup)
246
// +---+-+-+-+-+-+-+-+-+-+ |
247
// �1�2�3�4�5�6�7�8�9�A�0� |
248
// +---+-+-+-+-+-+-+-+-+-+ |
338
250
// Pour simuler un v�ritable Undo, l'appelant doit mettre la structure
339
251
// de page courante � jour avant l'appel, puis en r�extraire les infos en
370
282
// Cette fonction fait l'�quivalent d'un "Redo" dans la liste de pages.
371
283
// Elle effectue une sorte de ROR (Rotation Right) sur la liste:
372
// ���������������������ͻ |
373
// �0�1�2�3�4�5�6�7�8�9�A� |
374
// ���������������������ͼ | 0=page courante
375
// � � � � � � � � � � � |_ A=page la plus ancienne
284
// +-+-+-+-+-+-+-+-+-+-+-+ |
285
// |0|1|2|3|4|5|6|7|8|9|A| |
286
// +-+-+-+-+-+-+-+-+-+-+-+ | 0=page courante
287
// | | | | | | | | | | | |_ A=page la plus ancienne
376
288
// v v v v v v v v v v v | 1=Derni�re page (1er backup)
377
// ���������������������ͻ |
378
// �A�0�1�2�3�4�5�6�7�8�9� |
379
// ���������������������ͼ |
289
// +-+-+-+-+-+-+-+-+-+-+-+ |
290
// |A|0|1|2|3|4|5|6|7|8|9| |
291
// +-+-+-+-+-+-+-+-+-+-+-+ |
381
293
// Pour simuler un v�ritable Redo, l'appelant doit mettre la structure
382
294
// de page courante � jour avant l'appel, puis en r�extraire les infos en
414
326
T_List_of_pages * secondary_list
417
unsigned long mem_available_now;
329
long long mem_available_now;
418
330
unsigned long current_list_size;
419
331
unsigned long spare_list_size;
420
332
unsigned long current_page_size;