Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch FreshEdit2 Excluding Merge-Ins
This is equivalent to a diff from aefe3d21cc to 29632daf61
2012-11-28
| ||
21:28 | Work on the text line rendering. Work on themes support. Implemented storing of the theme in uConfig file. The architecture of the themes is still not very clear... Leaf check-in: 29632daf61 user: johnfound tags: FreshEdit2 | |
2012-11-12
| ||
15:53 | Work. check-in: e2badc4838 user: lhmnai0 tags: FreshEdit2 | |
2012-07-02
| ||
14:30 | Changed macro names in executable.inc library in order to correspond to the FreshLib naming convention. check-in: 0d8d0f1a63 user: lhmnai0 tags: FreshLibDev | |
2012-07-01
| ||
12:50 | Create new branch named "FreshEdit2" check-in: 39ec996774 user: johnfound tags: FreshEdit2 | |
2012-06-30
| ||
19:34 |
Several new procedures for date and time management in timers.asm and strlib.asm library.
DaysPerYear: returns the days in the specified year; DaysPerMonth: returns the days in the specified month; TimeToDateTime: Converts Unix time to TDateTime structure; GetLocalTimeOffset: Returns the time offset depending on the local timezone. It works for now only in Windows, the Linux version returns always 0 DateTimeToStr: Converts TDateTime structure to string. For now, the format is fixed. Fixed some bugs. check-in: aefe3d21cc user: johnfound tags: FreshLibDev | |
2012-06-26
| ||
14:22 | New functions in StrLib. check-in: 42d8dfa3cd user: lhmnai0 tags: FreshLibDev | |
Deleted freshlib/ForthScript/ForthLib.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/ForthScript/ForthScript.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Changes to freshlib/FreshEdit/FreshEdit.asm.
︙ | ︙ | |||
15 16 17 18 19 20 21 | ; - Word wrap ; - Code folding ; - Associated debug information ; - save with format information (bookmarks and breakpoints) ; - Read-only lines ; - Undo and Redo functions. ; - Adjustable colors, keyboard and behavior. | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | ; - Word wrap ; - Code folding ; - Associated debug information ; - save with format information (bookmarks and breakpoints) ; - Read-only lines ; - Undo and Redo functions. ; - Adjustable colors, keyboard and behavior. ; - Char and Block selections. ; - Syntax highlighters interface for different languages. ; - Interface to visual programming tools and auto source generators. ;_________________________________________________________________________________________ include "FreshEditThemes.asm" module "TFreshEdit library" |
︙ | ︙ | |||
38 39 40 41 42 43 44 | ; Line flags lfBookmark = 1 ; the line have bookmark set. lfFocused = 2 ; the line is focused until the user press some key. lfProtected = 4 ; the line can not be edited. lfWordWrap = 8 ; the line must be word wrapped. After changes, the format have to be updated. | > | < > | | > > < > > > > > > < | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | ; Line flags lfBookmark = 1 ; the line have bookmark set. lfFocused = 2 ; the line is focused until the user press some key. lfProtected = 4 ; the line can not be edited. lfWordWrap = 8 ; the line must be word wrapped. After changes, the format have to be updated. lfHidden = 16 ; this line is hidden lfBreakpoint = 32 ; set breakpoint in debug mode. struct TEditorLine .Data dd ? ; pointer to line data. .flags dd ? ; line flags .syn_context dd ? ; flags about current syntax highlighter context after processing line. .fold_level dd ? .debugdata dd ? ; pointer to debug data, associated to this line .subcount dd ? ; count of wrapped sublines .pSublines dd ? ; pointer to array containing offsets to the sublines inside the line. align 32 .shift = 5 ends struct TScreenLine .IndexLine dd ? .Subline dd ? ends undoInsertText = 0 undoDeleteText = 1 struct TUndoInfo .operation db ? ; what was changed??? .selMode db ? align 4 .caretX dd ? .caretY dd ? |
︙ | ︙ | |||
92 93 94 95 96 97 98 | chgfNoClearSelection = 1 chgfNeedRefresh = 2 chgfFinished = 4 ; insert modes | | | > > > < | < | > > < | | | > | | < < > < < < | | | | | | | > | < < < | | < < | < < < | < | | < | < < < < < | | < < < < < < < < < < > > | > | 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 | chgfNoClearSelection = 1 chgfNeedRefresh = 2 chgfFinished = 4 ; insert modes modeInsert = 0 modeOverwrite = 1 ; selection modes selmChar = 0 selmBlock = 1 ; when the editor is in block selection mode, the word wrap ; feature must be switched OFF, because it is not possible ; to select rectangular region, on word wrapped lines. ; flag ReadOnly values froReadWrite = 0 froReadOnlyWithCaret = 1 froReadOnlyNoCaret = 2 object TFreshEdit, TScrollWindow ._Font dd ? ; font of the editor. ; main editor font sizes ._fontheight dd ? ; in pixels. ._fontwidth dd ? ; in pixels. ._fontdescent dd ? ; in pixels. ; system font sizes (used for additional texts and line numbers) ._fontheight2 dd ? ; in pixels. ._fontwidth2 dd ? ; in pixels. ._fontdescent2 dd ? ; in pixels. .__LeftMargin dd ? ; width of the left margin field. Auto computed. .__NumberMargin dd ? ; width of the field for the line number. Auto computed. ._cols dd ? ; width of the window in text columns. ._rows dd ? ; height of the window in text rows. ; must be updated on resize and on font change. ._pLines dd ? ; pointer to TArray of TEditorLine items. ._pLengths dd ? ; pointer to TArray with counts of the lines with given length. ._pUndoList dd ? ; pointer to TArray of TUndoInfo ._pRedoList dd ? ; pointer to TArray of TUndoInfo ._pShadow dd ? ; pointer to TBackBuffer object. ._fShadowValid dd ? ; .pScreenIndex dd ? ; pointer to array of TScreenLine structures, containing ; view change fields ._LeftColumn dd ? ; the column of the text at the leftmost side of the window. ._xCaret dd ? ; the number of the char the caret resides. ._yCaret dd ? ; the index of the line the caret resides. ._xSelection dd ? ._ySelection dd ? ._fReadOnly dd ? ._SelMode dd ? ; NOTE: on selmBlock, the word wrap should be OFF ._InsMode dd ? ._TabStop dd ? ; end change fields ._prevTopLine dd ? ._prevTopOffset dd ? ._prevLeftColumn dd ? ._prevCaretChar dd ? ._prevCaretLine dd ? ._prevxDelta dd ? ._prevyDelta dd ? ._prevSelMode dd ? ._prevInsMode dd ? ; end backup fields ._DragButton dd ? ._procSyntax dd ? ; syntax highlighter procedure. ; icons and masks for the left margin ._iconBreakpointA dd ? ; active breakpoint icon. ._iconBreakpointI dd ? ; inactive breakpoint icon. ._iconDebugInfo dd ? ._maskBreakpointA dd ? ._maskBreakpointI dd ? ._maskDebugInfo dd ? ._iconUnfold dd ? ._iconFold dd ? ._maskUnfold dd ? ; Event handlers .OnControlKey dd ? ; Parameters param .Selection ; selected text read/write param .CurrentLine ; TEditorLine where caret resides. read only param .Text ; whole text; read/write param .MaxLineLen ; Commands method .Clear method .Left method .Right method .Up method .Down method .LineBegin method .LineEnd method .FileBegin method .FileEnd method .PageUp method .PageDown method .InsertString, .hString ; method .GetText, .LineFrom, .CharFrom, .LineTo, .CharTo method .DeleteSel ; Coordinates convertions method .PixelToCaret, .xPixel, .yPixel method .CaretToPixel, .iRow, .xChar ; themes methods method LoadTheme, .configdb, .directory endobj cDefaultEditorFont text 'Fixedsys Excelsior 3.01' ;cDefaultEditorFont text 'Droid sans mono' ; left margin icons. ;iglobal getfile iconBreakpointA, 'images/breakpoint.gif' getfile iconBreakpointI, 'images/breakpoint_inactive.gif' getfile maskBreakpointA, 'images/breakpoint_mask.gif' getfile maskBreakpointI, 'images/breakpoint_mask_inactive.gif' getfile iconDebugInfo, 'images/debug_icon.gif' getfile maskDebugInfo, 'images/debug_mask.gif' getfile iconUnfold, 'images/unfold.gif' getfile iconFold, 'images/fold.gif' getfile maskUnfold, 'images/unfold_mask.gif' ;endg proc TFreshEdit.Create, .pobj begin push edx mov ebx, [.pobj] ; Main Font settings. stdcall FontCreate, cDefaultEditorFont, 0, 0, ffMonospaced mov [ebx+TFreshEdit._Font], eax mov [ebx+TFreshEdit._cursor], mcText stdcall FontGetCharSize, [ebx+TFreshEdit.handle], [ebx+TFreshEdit._Font], __HeightProbeString test edx, edx jnz @f inc edx @@: |
︙ | ︙ | |||
334 335 336 337 338 339 340 | stdcall CreateImageGIF, iconFold, iconFold.size mov [ebx+TFreshEdit._iconFold], eax stdcall CreateImageGIF, maskUnfold, maskUnfold.size mov [ebx+TFreshEdit._maskUnfold], eax ; Init some values. | | < < < < < < < | > > | > | > > < | 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 | stdcall CreateImageGIF, iconFold, iconFold.size mov [ebx+TFreshEdit._iconFold], eax stdcall CreateImageGIF, maskUnfold, maskUnfold.size mov [ebx+TFreshEdit._maskUnfold], eax ; Init some values. mov [ebx+TFreshEdit._TabStop], 4 mov [ebx+TFreshEdit._DragButton], -1 stdcall CreateArray, sizeof.TEditorLine mov [ebx+TFreshEdit._pLines], eax stdcall CreateArray, 4 mov [ebx+TFreshEdit._pLengths], eax stdcall CreateArray, sizeof.TUndoInfo mov [ebx+TFreshEdit._pUndoList], eax stdcall CreateArray, sizeof.TUndoInfo mov [ebx+TFreshEdit._pRedoList], eax stdcall CreateBackBuffer, [ebx+TFreshEdit.handle], 1, 1 mov [ebx+TFreshEdit._pShadow], eax pop edx clc return endp ;_________________________________________________________________________________________ proc TFreshEdit.Destroy, .pobj begin mov ebx, [.pobj] ; free all text data execute ebx, TFreshEdit.Clear ; free the allocated buffers stdcall FreeMem, [ebx+TFreshEdit._pLines] stdcall FreeMem, [ebx+TFreshEdit._pLengths] stdcall FreeMem, [ebx+TFreshEdit._pUndoList] stdcall FreeMem, [ebx+TFreshEdit._pRedoList] ; destroy the shadow buffer. stdcall DestroyBackBuffer, [ebx+TFreshEdit._pShadow] ; destroy icon images. stdcall DestroyImage, [ebx+TFreshEdit._iconBreakpointA] stdcall DestroyImage, [ebx+TFreshEdit._iconBreakpointI] stdcall DestroyImage, [ebx+TFreshEdit._iconDebugInfo] stdcall DestroyImage, [ebx+TFreshEdit._maskBreakpointA] stdcall DestroyImage, [ebx+TFreshEdit._maskBreakpointI] stdcall DestroyImage, [ebx+TFreshEdit._maskDebugInfo] stdcall DestroyImage, [ebx+TFreshEdit._iconUnfold] stdcall DestroyImage, [ebx+TFreshEdit._iconFold] stdcall DestroyImage, [ebx+TFreshEdit._maskUnfold] clc return endp ;_________________________________________________________________________________________ |
︙ | ︙ | |||
422 423 424 425 426 427 428 | stc .exit: return ;................................................................ .get_selection: | < < | < < < < < | < < < < < | < < < < < < < < < < | < < < | 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 | stc .exit: return ;................................................................ .get_selection: mov ecx, [.pobj] execute ecx, TFreshEdit.GetText, [ecx+TFreshEdit._yCaret], [ecx+TFreshEdit._xCaret], \ [ecx+TFreshEdit._ySelection], [ecx+TFreshEdit._xSelection], [ecx+TFreshEdit._SelMode] clc return ;................................................................ .gettext: push ebx edx esi edi stdcall StrNew mov ebx, eax mov edi, [.pobj] mov esi, [edi+TFreshEdit._pLines] mov ecx, [esi+TArray.count] jecxz .text_ready lea esi, [esi+TArray.array] .line_loop: stdcall StrDup, [esi+TEditorLine.Data] push eax push eax push eax stdcall StrLen, eax mov edx, eax stdcall StrPtr ; from the stack |
︙ | ︙ | |||
491 492 493 494 495 496 497 | inc eax dec edx jnz .loop_char .line_ready: stdcall StrCat, ebx ; from the stack. stdcall StrDel ; from the stack | | | < < | | < < | < < < < < < | < | < < < < < < < < < < < < < < < | 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 | inc eax dec edx jnz .loop_char .line_ready: stdcall StrCat, ebx ; from the stack. stdcall StrDel ; from the stack stdcall TFreshEdit.__AddFormatLine, ebx, [esi+TEditorLine.flags] .next_line: add esi, sizeof.TEditorLine loop .line_loop .text_ready: mov eax, ebx pop edi esi edx ebx clc return ;................................................................ .currentline: mov ecx, [.pobj] stdcall GetArrayItem, [ecx+TFreshEdit._pLines], [ecx+TFreshEdit._yCaret] jnc .endgcl xor eax, eax .endgcl: clc return ;................................................................ .maxlinelen: mov eax, [.pobj] mov eax, [eax+TFreshEdit._pLengths] |
︙ | ︙ | |||
561 562 563 564 565 566 567 | ;_________________________________________________________________________________________ proc TFreshEdit.Set, .pobj, .paramID, .value begin | < < < < | | < < < | 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 | ;_________________________________________________________________________________________ proc TFreshEdit.Set, .pobj, .paramID, .value begin cmp [.paramID], TFreshEdit.Text je .settext cmp [.paramID], TFreshEdit.Selection je .set_selection stc return ;......................................................................................... .set_selection: ; delete the old selection push esi eax edx mov esi, [.pobj] |
︙ | ︙ | |||
596 597 598 599 600 601 602 603 604 | pop edx eax esi clc return ;......................................................................................... .settext: locals .pLine dd ? | > < > > > < < < < < < < < < | 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 | pop edx eax esi clc return ;......................................................................................... .settext: locals .pLine dd ? endl push eax ebx edx esi edi mov edi, [.pobj] execute edi, TFreshEdit.Clear stdcall StrPtr, [.value] mov esi, eax .lineloop: push esi .char: lodsb test al, al jz .end_of_line |
︙ | ︙ | |||
666 667 668 669 670 671 672 673 | ; because the memory reallocation returns not zero filled memory. stosb pop edi esi ecx ; insert text line. stdcall AddArrayItems, [edi+TFreshEdit._pLines], 1 mov [edi+TFreshEdit._pLines], edx | > > < | | | | | > > < | | > | | > > > > | > | > < | 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 | ; because the memory reallocation returns not zero filled memory. stosb pop edi esi ecx ; insert text line. stdcall AddArrayItems, [edi+TFreshEdit._pLines], 1 jc .end_set_text mov [edi+TFreshEdit._pLines], edx mov [.pLine], eax mov [eax+TEditorLine.Data], ebx xor ecx, ecx mov [eax+TEditorLine.flags], ecx mov [eax+TEditorLine.syn_context], ecx mov [eax+TEditorLine.debugdata], ecx mov [eax+TEditorLine.fold_level], ecx dec ecx ; mov [eax+TEditorLine.width], ecx stdcall StrPtr, ebx stdcall TFreshEdit.__DecodeFormatLine, eax jc .format_ok mov edx, [.pLine] mov [edx+TEditorLine.flags], eax stdcall StrCopyPart, ebx, ebx, 0, ecx .format_ok: ; format the line mov ecx, [edx+TArray.count] dec ecx ; execute edi, TFreshEdit.FormatLine, ecx ; goto next line. cmp byte [esi], 0 jne .lineloop mov [edi+TFreshEdit._TopLine], 0 mov [edi+TFreshEdit._yCaret], 0 mov eax, [edi+TFreshEdit._pLengths] stdcall TFreshEdit.__UpdateScrollBars, edi mov [edi+TFreshEdit._fShadowValid], 0 .end_set_text: clc pop edi esi edx ebx eax return endp ;_________________________________________________________________________________________ ; move commands mvcMoveX = 1 mvcMoveY = 2 |
︙ | ︙ | |||
732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 | je .movecaret cmp [.method], TFreshEdit.LineBegin je .linebegin cmp [.method], TFreshEdit.LineEnd je .lineend cmp [.method], TFreshEdit.DeleteSel je .delete_selection cmp [.method], TFreshEdit.DeleteText je .delete_text cmp [.method], TFreshEdit.GetText je .get_text cmp [.method], TFreshEdit.DeleteLine je .delete_line | > > > > > > > > > > > > > > > < < < | | | | > > > | | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | | | | | < | < < < < < < < < < < < | < < < < < < < < | < < < < < | < < < < < < < < < | > > > > > > > > > > > > > > > > > > > > | | | > | > > | | > > > | 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 | je .movecaret cmp [.method], TFreshEdit.LineBegin je .linebegin cmp [.method], TFreshEdit.LineEnd je .lineend cmp [.method], TFreshEdit.FileBegin je .filebegin cmp [.method], TFreshEdit.FileEnd je .fileend cmp [.method], TFreshEdit.ScreenBegin je .pagebegin cmp [.method], TFreshEdit.ScreenEnd je .pageend cmp [.method], TFreshEdit.DeleteSel je .delete_selection cmp [.method], TFreshEdit.DeleteText je .delete_text cmp [.method], TFreshEdit.GetText je .get_text cmp [.method], TFreshEdit.InsertText je .insert_text cmp [.method], TFreshEdit.DeleteLine je .delete_line cmp [.method], TFreshEdit.InsertString je .insert_string cmp [.method], TFreshEdit.InsertLine je .insert_line cmp [.method], TFreshEdit.DelChar je .del_char cmp [.method], TFreshEdit.PixelToCaret je .pixel_to_caret cmp [.method], TFreshEdit.CaretToPixel je .caret_to_pixel stc return ;......................................................................................... .refresh: mov ecx, [.self] mov [ecx+TFreshEdit._fShadowValid], 0 stc return ;......................................................................................... .delete_line: virtual at ebx .del_index dd ? end virtual push edx esi mov esi, [.self] mov eax, [.del_index] cmp eax, -1 jne @f mov eax, [esi+TFreshEdit._yCaret] @@: mov edx, [esi+TFreshEdit._pLines] cmp eax, [edx+TArray.count] jae .end_del_line shl eax, TEditorLine.shift lea ecx, [edx+TArray.array+eax] shr eax, TEditorLine.shift stdcall StrDel, [ecx+TEditorLine.Data] stdcall TFreshEdit.__FixLength, esi, -1, [ecx+TEditorLine.width] stdcall DeleteArrayItems, edx, eax, 1 mov [esi+TFreshEdit._pLines], edx ; delete the wrapped line (if any) .end_del_line: clc pop esi edx return ;......................................................................................... .get_text: ; have the same arguments and local variables as .delete_text virtual at ebx ; arguments .indexFrom dd ? .charFrom dd ? .indexTo dd ? .charTo dd ? .BlockKind dd ? end virtual locals .final_str dd ? .final_flags dd ? .final_level dd ? .fromline dd ? .toline dd ? .ret_str dd ? endl pushad mov [.ret_str], 0 ; sort the "from" and "To" in order to have "From" < "To" mov eax, [.indexFrom] mov ecx, [.charFrom] cmp eax, [.indexTo] jne @f cmp ecx, [.charTo] @@: je .finish_get ; from == to so nothing to return jb @f xchg eax, [.indexTo] xchg ecx, [.charTo] mov [.indexFrom], eax mov [.charFrom], ecx @@: mov esi, [.self] ; last line processing stdcall GetArrayItem, [esi+TFreshEdit._pLines], [.indexTo] jc .error_get mov [.toline], eax mov edx, eax stdcall StrOffsUtf8, [edx+TEditorLine.Data], [.charTo] stdcall StrExtract, [edx+TEditorLine.Data], 0, eax mov [.final_str], eax ; first line processing stdcall GetArrayItem, [esi+TFreshEdit._pLines], [.indexFrom] jc .error_get mov [.fromline], eax mov edx, eax stdcall StrOffsUtf8, [edx+TEditorLine.Data], [.charFrom] mov edi, [edx+TEditorLine.Data] cmp edx, [.toline] jne .dup_first mov edi, [.final_str] .dup_first: push eax stdcall StrDup, edi mov edi, eax pop eax jecxz .get_splitit |
︙ | ︙ | |||
1111 1112 1113 1114 1115 1116 1117 1118 1119 | .finish_get: clc popad mov eax, [.ret_str] return ;......................................................................................... .delete_text: | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | < < < < < < < < < < < < < | | | > > > | > > | > > | < < > > | | < < | | | < < | < | < < < < | | < < < < < < < < | < < < < < | < < < < < | < < < < > | < < < < < | < < < | < < < < < < | < < < < < < < < < < < < < < < < < < < < < | < | < < < < < < < < < | < | < < | | | < < < < < | > < < | | | | > | < > > > | | | < | < | | | > > > | < > | > | < | < < < < < < < | < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < | < < < | < < | < | < < < | < < < < < < < < < < < < < < < < < < | < < < | | < < | < < < < < < < < < | | < | | > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | > | 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 | .finish_get: clc popad mov eax, [.ret_str] return .error_get: clc popad xor eax, eax return ;......................................................................................... ; method .InsertText, .lineFrom, .charFrom, .hString, .fInsert .insert_text: virtual at ebx .lineFrom2 dd ? .charFrom2 dd ? .hString2 dd ? .fInsert dd ? end virtual locals .suffix dd ? .end_ptr dd ? .current_line dd ? .current_char dd ? .ptr_line dd ? .char_count dd ? endl pushad mov esi, [.self] .search_line: stdcall GetArrayItem, [esi+TFreshEdit._pLines], [.lineFrom2] jnc .linefound execute esi, TFreshEdit.InsertLine, -2 jmp .search_line .linefound: mov edi, eax mov eax, [.lineFrom2] mov [.current_line], eax mov [.suffix], 0 stdcall StrOffsUtf8, [edi+TEditorLine.Data], [.charFrom2] test ecx, ecx jnz .add_spaces stdcall StrSplit, [edi+TEditorLine.Data], eax mov [.suffix], eax jmp .do_insertion .add_spaces: stdcall StrCharCat, [edi+TEditorLine.Data], ' ' dec ecx jnz .add_spaces .do_insertion: stdcall StrPtr, [.hString2] mov esi, eax stdcall StrLen, [.hString2] lea eax, [esi+eax] mov [.end_ptr], eax stdcall StrLen, [edi+TEditorLine.Data] mov ecx, eax stdcall StrLen, [.hString2] add ecx, eax .loop_lines: mov [.ptr_line], edi stdcall StrSetCapacity, [edi+TEditorLine.Data], ecx mov edi, eax lea ecx, [edi+string.len] add edi, [ecx] ; append the string to the end... mov [.char_count], 0 .append_loop: stdcall DecodeUtf8, [esi] test eax, eax jz .end_of_string cmp eax, $0d je .new_line cmp eax, $0a je .new_line mov eax, [esi] mov [edi], eax add esi, edx add edi, edx add [ecx], edx inc [.char_count] jmp .append_loop .new_line: xor al, $0d xor $0a inc esi cmp [esi], al jne @f inc esi @@: call .finish_current_line inc [.current_line] execute [.self], TFreshEdit.InsertLine, [.current_line] mov edi, eax mov ecx, [.end_ptr] sub ecx, esi jmp .loop_lines .finish_current_line: xor eax, eax stosd cmp [.fInsert], modeInsert je .overwrite_ok cmp [.suffix], 0 je .overwrite_ok stdcall StrOffsUtf8, [.suffix], [.char_count] jecxz .split_suffix stdcall StrDel, [.suffix] mov [.suffix], 0 retn .split_suffix: stdcall StrSplit, [.suffix], eax xchg [.suffix], eax stdcall StrDel, eax .overwrite_ok: retn .end_of_string: call .finish_current_line mov edi, [.ptr_line] stdcall StrLenUtf8, [edi+TEditorLine.Data], -1 mov [.current_char], eax cmp [.suffix], 0 je .last_ok stdcall StrCat, [edi+TEditorLine.Data], [.suffix] stdcall StrDel, [.suffix] .last_ok: .finish_ins_text: popad mov eax, [.current_line] mov edx, [.current_char] clc return ;......................................................................................... .delete_text: ; have the same arguments and local variables as .get_text pushad ; sort the "from" and "To" in order to have "From" < "To" mov eax, [.indexFrom] mov ecx, [.charFrom] cmp eax, [.indexTo] jne @f cmp ecx, [.charTo] @@: je .finish_delete ; from == to so nothing to delete. jb @f xchg eax, [.indexTo] xchg ecx, [.charTo] mov [.indexFrom], eax mov [.charFrom], ecx @@: mov esi, [.self] ; last line processing stdcall GetArrayItem, [esi+TFreshEdit._pLines], [.indexTo] jc .finish_delete mov edx, eax stdcall StrOffsUtf8, [edx+TEditorLine.Data], [.charTo] stdcall StrSplit, [edx+TEditorLine.Data], eax mov [.final_str], eax mov eax, [edx+TEditorLine.flags] mov ecx, [edx+TEditorLine.fold_level] mov [.final_flags], eax mov [.final_level], ecx ; first line processing stdcall GetArrayItem, [esi+TFreshEdit._pLines], [.indexFrom] jc .finish_delete mov edx, eax mov [.fromline], eax stdcall StrOffsUtf8, [edx+TEditorLine.Data], [.charFrom] stdcall StrTrim, [edx+TEditorLine.Data], eax .addspc: dec ecx js .catit stdcall StrCharCat, [edx+TEditorLine.Data], ' ', eax jmp .addspc .catit: stdcall StrCat, [edx+TEditorLine.Data], [.final_str] stdcall StrDel, [.final_str] mov eax, [.final_level] mov ecx, [.final_flags] mov [edx+TEditorLine.fold_level], eax or [edx+TEditorLine.flags], ecx ; now delete all lines except the first. mov eax, [.indexFrom] mov ecx, [.indexTo] sub ecx, eax inc eax stdcall DeleteArrayItems, [esi+TFreshEdit._pLines], eax, ecx mov [esi+TFreshEdit._pLines], edx .finish_delete: clc popad mov eax, [.indexFrom] mov edx, [.charFrom] return ;......................................................................................... ; delete the selection .delete_selection: mov ecx, [.self] execute ecx, TFreshEdit.DeleteText, [ecx+TFreshEdit._yCaret], [ecx+TFreshEdit._xCaret], \ [ecx+TFreshEdit._ySelection], [ecx+TFreshEdit._xSelection], [ecx+TFreshEdit._SelMode] clc return ;......................................................................................... .insert_line: virtual at ebx .ins_index dd ? end virtual push edx esi mov esi, [.self] mov edx, [esi+TFreshEdit._pLines] mov ecx, [.ins_index] cmp ecx, -1 jne @f mov ecx, [esi+TFreshEdit._yCaret] inc ecx @@: cmp ecx, [edx+TArray.count] jb @f mov ecx, [edx+TArray.count] @@: stdcall InsertArrayItems, edx, ecx, 1 mov [esi+TFreshEdit._pLines], edx jc .err_ins_line mov ebx, eax stdcall StrNew mov [ebx+TEditorLine.Data], eax xor eax, eax mov [ebx+TEditorLine.flags], eax mov [ebx+TEditorLine.syn_context], eax mov [ebx+TEditorLine.debugdata], eax mov [ebx+TEditorLine.fold_level], eax mov [ebx+TEditorLine.width], eax stdcall TFreshEdit.__FixLength, esi, 0, -1 mov eax, ebx .finish_ins_line: pop esi edx clc return .err_ins_line: xor eax, eax jmp .finish_ins_line ;......................................................................................... .del_char: locals .del_char_to_line dd ? .del_char_to_char dd ? endl push eax ecx edx esi mov esi, [.self] mov eax, [esi+TFreshEdit._xCaret] mov ecx, [esi+TFreshEdit._yCaret] mov [.del_char_to_char], eax mov [.del_char_to_line], ecx inc [.del_char_to_char] stdcall GetArrayItem, [esi+TFreshEdit._pLines], ecx jc .do_del_char stdcall StrOffsUtf8, [eax+TEditorLine.Data], [.del_char_to_char] jecxz .do_del_char mov [.del_char_to_char], 0 inc [.del_char_to_line] .do_del_char: execute esi, TFreshEdit.DeleteText, [esi+TFreshEdit._yCaret], [esi+TFreshEdit._xCaret], [.del_char_to_line], [.del_char_to_char], selmChar pop esi edx ecx eax clc return ;......................................................................................... .insert_string: virtual at ebx .hstring dd ? end virtual push eax edx mov ecx, [.self] execute ecx, TFreshEdit.InsertText, [ecx+TFreshEdit._yCaret], [ecx+TFreshEdit._xCaret], [.hstring], [ecx+TFreshEdit._InsMode] mov [ecx+TFreshEdit._yCaret], eax mov [ecx+TFreshEdit._xCaret], edx pop edx eax clc return ;......................................................................................... .linebegin: stdcall TFreshEdit.__FitCaretInWindow, [.self] jnz .endlb mov eax, [.self] mov [eax+TFreshEdit._xCaret], 0 mov [eax+TFreshEdit._LeftColumn], 0 .endlb: clc return ;......................................................................................... .lineend: push edx esi edi mov esi, [.self] stdcall TFreshEdit.__FitCaretInWindow, esi jnz .endle stdcall GetArrayItem, [esi+TFreshEdit._pLines], [esi+TFreshEdit._yCaret] jnc .inline mov [esi+TFreshEdit._xCaret], 0 jmp .endle .inline: mov eax, [eax+TEditorLine.width] mov [esi+TFreshEdit._xCaret], eax .endle: pop edi esi edx clc return ;......................................................................................... .filebegin: mov ecx, [.self] stdcall TFreshEdit.__FitCaretInWindow, ecx jnz .endfb mov [ecx+TFreshEdit._TopLine], 0 mov [ecx+TFreshEdit._yCaret], 0 mov [ecx+TFreshEdit._ySelection], 0 .endfb: clc return ;......................................................................................... .fileend: mov ecx, [.self] stdcall TFreshEdit.__FitCaretInWindow, ecx jnz .endfe mov eax, [ecx+TFreshEdit._pLines] mov eax, [eax+TArray.count] dec eax jns @f inc eax @@: mov [ecx+TFreshEdit._yCaret], eax mov [ecx+TFreshEdit._ySelection], eax inc eax sub eax, [ecx+TFreshEdit._rows] jns @f xor eax, eax @@: mov [ecx+TFreshEdit._TopLine], eax .endfe: clc return ;......................................................................................... .pagebegin: mov ecx, [.self] stdcall TFreshEdit.__FitCaretInWindow, ecx jnz .endpb mov eax, [ecx+TFreshEdit._TopLine] mov [ecx+TFreshEdit._yCaret], eax mov [ecx+TFreshEdit._ySelection], eax .endpb: clc return ;......................................................................................... .pageend: push edx mov ecx, [.self] stdcall TFreshEdit.__FitCaretInWindow, ecx jnz .endpe mov eax, [ecx+TFreshEdit._TopLine] add eax, [ecx+TFreshEdit._rows] dec eax jns @f xor eax, eax @@: mov edx, [ecx+TFreshEdit._pLines] cmp eax, [edx+TArray.count] jb @f mov eax, [edx+TArray.count] dec eax @@: mov [ecx+TFreshEdit._yCaret], eax mov [ecx+TFreshEdit._ySelection], eax .endpe: pop edx clc return ;......................................................................................... ; The method TFreshEdit.Move moves the caret towards given direction and on ; the given count of steps. ; .movecaret: virtual at ebx |
︙ | ︙ | |||
1659 1660 1661 1662 1663 1664 1665 | test [.direction], mvcMoveX or mvcMoveY jz .fitok cmp [.force], 0 jne .fitok stdcall TFreshEdit.__FitCaretInWindow, esi | < < > > > | | | < < | | | | < < | < > | 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 | test [.direction], mvcMoveX or mvcMoveY jz .fitok cmp [.force], 0 jne .fitok stdcall TFreshEdit.__FitCaretInWindow, esi jnz .endmove .fitok: test [.direction], mvcMoveX or mvcMoveY or mvcScrollX or mvcScrollY jz .endmove test [.direction], mvcMoveX or mvcScrollX jnz .move_horizontal test [.direction], mvcMoveY or mvcScrollY jnz .move_vertical .endmove: clc pop edi esi edx return .move_horizontal: test [.direction], mvcMoveX jz .xcaretok mov ecx, [.count] add [esi+TFreshEdit._xCaret], ecx jns .xcaretok mov [esi+TFreshEdit._xCaret], 0 .xcaretok: test [.direction], mvcScrollX jz .leftcolok mov ecx, [.count] add [esi+TFreshEdit._LeftColumn], ecx jns .leftcolok mov [esi+TFreshEdit._LeftColumn], 0 .leftcolok: mov ecx, [esi+TFreshEdit._xCaret] mov edx, [esi+TFreshEdit._LeftColumn] cmp ecx, edx jb .hscroll add edx, [esi+TFreshEdit._cols] cmp ecx, edx jb .endmove .hscroll: mov ecx, [esi+TFreshEdit._cols] mov eax, [.count] |
︙ | ︙ | |||
1733 1734 1735 1736 1737 1738 1739 | ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .move_vertical: test [.direction], mvcMoveY jz .ycaretok | | | | < < | < | < < < < < | | < < < < < < | < | > > > | 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 | ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .move_vertical: test [.direction], mvcMoveY jz .ycaretok mov ecx, [.count] add [esi+TFreshEdit._yCaret], ecx jns .ycaretok mov [esi+TFreshEdit._yCaret], 0 .ycaretok: test [.direction], mvcScrollY jz .toplineok mov ecx, [.count] add [esi+TFreshEdit._TopLine], ecx jns .toplineok mov [esi+TFreshEdit._TopLine], 0 .toplineok: mov ecx, [esi+TFreshEdit._yCaret] mov eax, [esi+TFreshEdit._pLines] mov eax, [eax+TArray.count] cmp ecx, eax jb @f lea ecx, [eax-1] @@: mov [esi+TFreshEdit._yCaret], ecx mov edx, [esi+TFreshEdit._TopLine] cmp ecx, edx jb .vscroll add edx, [esi+TFreshEdit._rows] cmp edx, eax jae .vscroll cmp ecx, edx jb .endmove .vscroll: test [.direction], mvcMoveX or mvcMoveY jz .endmove ; it is only scroll, so don't care about caret. |
︙ | ︙ | |||
1819 1820 1821 1822 1823 1824 1825 | mov [ebx+TEditorLine.Data], 0 add ebx, sizeof.TEditorLine dec ecx jmp .clrloop .endclr: mov ebx, [.self] | < < < < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 | mov [ebx+TEditorLine.Data], 0 add ebx, sizeof.TEditorLine dec ecx jmp .clrloop .endclr: mov ebx, [.self] stdcall FreeMem, [ebx+TFreshEdit._pLines] stdcall FreeMem, [ebx+TFreshEdit._pLengths] stdcall CreateArray, sizeof.TEditorLine mov [ebx+TFreshEdit._pLines], eax stdcall CreateArray, 4 mov [ebx+TFreshEdit._pLengths], eax xor eax, eax mov [ebx+TFreshEdit._fShadowValid], eax mov [ebx+TFreshEdit._xCaret], eax mov [ebx+TFreshEdit._yCaret], eax mov [ebx+TFreshEdit._xSelection], eax mov [ebx+TFreshEdit._ySelection], eax execute ebx, TFreshEdit.Refresh stdcall TFreshEdit.__UpdateScrollBars, ebx clc return ;......................................................................................... ; method .PixelToCaret, .xPixel, .yPixel ; .xPixel, .yPixel - coordinates of pixel related to the editor window. ; Returns: ; eax - index of the text line in TFreshEdit._pLines array. ; edx - character in the line. .pixel_to_caret: virtual at ebx .xPixel dd ? .yPixel dd ? end virtual mov esi, [.self] mov ecx, [.xPixel] mov eax, [.yPixel] mov edi, [esi+TFreshEdit._FreeArea.x] mov edx, [esi+TFreshEdit._FreeArea.y] cmp ecx, edi jl .pixel_outside cmp eax, edx jl .pixel_outside add edi, [esi+TFreshEdit._FreeArea.width] add edx, [esi+TFreshEdit._FreeArea.height] cmp ecx, edi jge .pixel_outside cmp eax, edx jge .pixel_outside sub ecx, [esi+TFreshEdit.__LeftMargin] jge @f xor ecx, ecx @@: cdq idiv [esi+TFreshEdit._fontheight] add eax, [esi+TFreshEdit._TopOffset] mov [.yPixel], eax mov eax, ecx cdq idiv [esi+TFreshEdit._fontwidth] add eax, [esi+TFreshEdit._LeftColumn] mov [.xPixel], eax ; search the line and char ; first the line: mov edi, [esi+TFreshEdit._TopLine] stdcall GetArrayItem, [esi+TFreshEdit._pLines], edi test [eax+TEditorLine.flags], lfWordWrap mov edx, [.xPixel] mov eax, [.yPixel] clc return .pixel_outside: xor eax, eax dec eax clc return ;......................................................................................... ; method .CaretToPixel, .iRow, .xChar .caret_to_pixel: endp ;_________________________________________________________________________________________ proc TFreshEdit.SysEventHandler, .pobj, .pEvent .changes dd ? begin push eax ebx edx esi edi mov [.changes], 0 mov ebx, [.pEvent] mov esi, [.pobj] mov eax, [ebx+TSysEvent.event] |
︙ | ︙ | |||
1891 1892 1893 1894 1895 1896 1897 | cmp [ebx+TSysEvent.event], seMouseBtnRelease je .mousebtnrelease cmp [ebx+TSysEvent.event], seMouseMove je .mousemove | < | | > > > > | 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 | cmp [ebx+TSysEvent.event], seMouseBtnRelease je .mousebtnrelease cmp [ebx+TSysEvent.event], seMouseMove je .mousemove .continue: stc .finish: pop edi esi edx ebx eax return ;......................................................................................... .mousemove: mov ecx, mcText mov eax, [ebx+TMouseMoveEvent.x] cmp eax, [esi+TFreshEdit.__LeftMargin] ja @f mov ecx, mcArrow @@: mov [esi+TFreshEdit._cursor], ecx cmp [esi+TFreshEdit._DragButton], mbLeft jne .continue stdcall TFreshEdit.__PixelToCaretPos, esi, [ebx+TMouseMoveEvent.x], [ebx+TMouseMoveEvent.y] jc .continue mov [esi+TFreshEdit._yCaret], eax mov [esi+TFreshEdit._xCaret], edx jmp .refresh ;......................................................................................... .mousebtnrelease: mov eax, [ebx+TMouseButtonEvent.Button] cmp eax, [esi+TFreshEdit._DragButton] jne .continue |
︙ | ︙ | |||
1956 1957 1958 1959 1960 1961 1962 | stdcall MouseCapture, [esi+TWindow.handle] mov eax, [ebx+TMouseButtonEvent.Button] mov [esi+TFreshEdit._DragButton], eax cmp [ebx+TMouseButtonEvent.Button], mbLeft jne .continue | | > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 | stdcall MouseCapture, [esi+TWindow.handle] mov eax, [ebx+TMouseButtonEvent.Button] mov [esi+TFreshEdit._DragButton], eax cmp [ebx+TMouseButtonEvent.Button], mbLeft jne .continue stdcall TFreshEdit.__PixelToCaretPos, esi, [ebx+TMouseButtonEvent.x], [ebx+TMouseButtonEvent.y] jc .continue mov [esi+TFreshEdit._yCaret], eax mov [esi+TFreshEdit._xCaret], edx jmp .refresh .left_margin_process: ; sub edx, 16 ; cmp ecx, edx ; jl .continue ; number or breakpoint click ; ;; Fold/unfold click ;; check for the fold/unfold icon under the cursor ; xor edx, edx ; div [esi+TFreshEdit._fontheight] ; add eax, [esi+TFreshEdit._TopLine] ; ; mov edx, [esi+TFreshEdit._pIndex] ; cmp eax, [edx+TArray.count] ; jae .continue ; ; mov ecx, [edx+TArray.array+4*eax] ; cmp ecx, -1 ; je .continue ; it is not fold icon row. ; ; shl ecx, TEditorLine.shift ; add ecx, [esi+TFreshEdit._pLines] ; add ecx, TArray.array ; pointer to TEditorLine ; ; test [ecx+TEditorLine.flags], lfFoldHeader ; jz .continue ; ;; determine what is the current state folded or expanded ;locals ; .current dd ? ; .next dd ? ;endl ; mov [.current], eax ; current line index ; mov ecx, [edx+TArray.array+4*eax] ; inc ecx ; ;.next_loop: ; inc eax ; cmp eax, [edx+TArray.count] ; jae .folded ; ; cmp [edx+TArray.array+4*eax], -1 ; je .next_loop ; ; mov [.next], eax ; cmp ecx, [edx+TArray.array+4*eax] ; the next index == current+1 -> expanded ; jne .folded ; ;; so, fold it... ; stdcall TFreshEdit.__FoldZoneLen, esi, [.current] ; ; mov ecx, [.next] ; sub ecx, [.current] ; inc ecx ; ; cmp eax, ecx ; jbe .continue ; nothing to fold ; ; sub eax, ecx ; stdcall DeleteArrayItems, [esi+TFreshEdit._pIndex], [.next], eax ; mov [esi+TFreshEdit._pIndex], edx ; ; stdcall TFreshEdit.__UpdateScrollBars, esi ; or [.changes], chgfNeedRefresh ; jmp .refresh ; ;.folded: ;; the zone is folded, so restore the index items. ; stdcall TFreshEdit.__RestoreIndex, esi, [.current], [.next] ; stdcall TFreshEdit.__UpdateScrollBars, esi ; or [.changes], chgfNeedRefresh jmp .refresh ;......................................................................................... .scroll: cmp [ebx+TScrollEvent.ScrollBar], scrollX je .xscroll |
︙ | ︙ | |||
2121 2122 2123 2124 2125 2126 2127 | locals .byte_offs dd ? endl cmp [esi+TFreshEdit._fReadOnly], froReadWrite jne .refresh execute esi, TFreshEdit.DeleteSel | < < | > > > > > | > > > | > | | | | | | | | 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 | locals .byte_offs dd ? endl cmp [esi+TFreshEdit._fReadOnly], froReadWrite jne .refresh execute esi, TFreshEdit.DeleteSel mov [esi+TFreshEdit._yCaret], eax mov [esi+TFreshEdit._xCaret], edx stdcall StrNew push eax stdcall StrCharCat, eax, [ebx+TKeyboardEvent.key] execute esi, TFreshEdit.InsertString, eax stdcall StrDel ; from the stack mov [.byte_offs], 0 ; is it necessary??? ; execute esi, TFreshEdit.FormatLine, [esi+TFreshEdit._yCaret] ; add [.byte_offs], eax ; ; stdcall GetArrayItem, [esi+TFreshEdit._pLines], [esi+TFreshEdit._yCaret] ; ; stdcall StrCharUtf8, [eax+TEditorLine.Data], [.byte_offs] ; mov [esi+TFreshEdit._xCaret], eax stdcall TFreshEdit.__UpdateScrollBars, esi stdcall TFreshEdit.__FitCaretInWindow, esi or [.changes], chgfNeedRefresh jmp .refresh |
︙ | ︙ | |||
2255 2256 2257 2258 2259 2260 2261 | .handler_pgdn: mov eax, [esi+TFreshEdit._rows] dec eax mov ecx, mvcMoveY or mvcScrollY jmp .moveit | < | 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 | .handler_pgdn: mov eax, [esi+TFreshEdit._rows] dec eax mov ecx, mvcMoveY or mvcScrollY jmp .moveit .moveit: test [ebx+TKeyboardEvent.kbdStatus], maskScrLk jnz .scroll_override cmp [esi+TFreshEdit._fReadOnly], froReadOnlyNoCaret jne .scroll_override_ok |
︙ | ︙ | |||
2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 | .handler_end: execute esi, TFreshEdit.LineEnd jmp .refresh ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .handler_pgbeg: jmp .refresh ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .handler_pgend: jmp .refresh ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .handler_txtbeg: jmp .refresh ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .handler_txtend: jmp .refresh ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .handler_wordleft: jmp .refresh ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .handler_wordright: jmp .refresh ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .handler_delete: locals .byte_offs2 dd ? endl cmp [esi+TFreshEdit._fReadOnly], froReadWrite jne .refresh | > > > > | > | | > > | < < > | > | | | < < | < | | | < | | | < > > > > | > | 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 | .handler_end: execute esi, TFreshEdit.LineEnd jmp .refresh ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .handler_pgbeg: execute esi, TFreshEdit.ScreenBegin jmp .refresh ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .handler_pgend: execute esi, TFreshEdit.ScreenEnd jmp .refresh ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .handler_txtbeg: execute esi, TFreshEdit.FileBegin jmp .refresh ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .handler_txtend: execute esi, TFreshEdit.FileEnd jmp .refresh ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .handler_wordleft: jmp .refresh ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .handler_wordright: jmp .refresh ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .handler_delete: locals .byte_offs2 dd ? endl cmp [esi+TFreshEdit._fReadOnly], froReadWrite jne .refresh mov eax, [esi+TFreshEdit._yCaret] mov ecx, [esi+TFreshEdit._xCaret] cmp eax, [esi+TFreshEdit._ySelection] jne .havesel cmp ecx, [esi+TFreshEdit._xSelection] jne .havesel execute esi, TFreshEdit.DelChar jmp .end_del .havesel: execute esi, TFreshEdit.DeleteSel mov [esi+TFreshEdit._yCaret], eax mov [esi+TFreshEdit._xCaret], edx .end_del: stdcall TFreshEdit.__FitCaretInWindow, esi stdcall TFreshEdit.__UpdateScrollBars, esi or [.changes], chgfNeedRefresh jmp .refresh ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; BUG: it does not works as expected, but I don't have enough patience to fix it just now..... .handler_backspc: cmp [esi+TFreshEdit._fReadOnly], froReadWrite jne .refresh mov edx, [esi+TFreshEdit._yCaret] mov ecx, [esi+TFreshEdit._xCaret] dec ecx jns .posok dec edx stdcall GetArrayItem, [esi+TFreshEdit._pLines], edx jc .refresh stdcall StrLenUtf8, [eax+TEditorLine.Data], -1 mov ecx, eax .posok: execute esi, TFreshEdit.DeleteText, edx, ecx, [esi+TFreshEdit._yCaret], [esi+TFreshEdit._xCaret] mov [esi+TFreshEdit._yCaret], eax mov [esi+TFreshEdit._xCaret], edx jmp .end_del ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .handler_linedel: cmp [esi+TFreshEdit._fReadOnly], froReadWrite jne .refresh execute esi, TFreshEdit.DeleteLine, [esi+TFreshEdit._yCaret] |
︙ | ︙ | |||
2394 2395 2396 2397 2398 2399 2400 | cmp [esi+TFreshEdit._fReadOnly], froReadWrite jne .refresh stdcall Get, esi, TFreshEdit.CurrentLine jc .refresh xor [eax+TEditorLine.flags], lfWordWrap | < | 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 | cmp [esi+TFreshEdit._fReadOnly], froReadWrite jne .refresh stdcall Get, esi, TFreshEdit.CurrentLine jc .refresh xor [eax+TEditorLine.flags], lfWordWrap stdcall TFreshEdit.__UpdateScrollBars, esi or [.changes], chgfNeedRefresh jmp .refresh ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .handler_bookmark: |
︙ | ︙ | |||
2483 2484 2485 2486 2487 2488 2489 | or [.changes], chgfNeedRefresh jmp .caretmoved .scrollerok: mov eax, [esi+TFreshEdit._xCaret] mov ecx, [esi+TFreshEdit._yCaret] mov edx, [esi+TFreshEdit._InsMode] | | | | 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 | or [.changes], chgfNeedRefresh jmp .caretmoved .scrollerok: mov eax, [esi+TFreshEdit._xCaret] mov ecx, [esi+TFreshEdit._yCaret] mov edx, [esi+TFreshEdit._InsMode] cmp eax, [esi+TFreshEdit._prevCaretChar] jne .caretmoved cmp ecx, [esi+TFreshEdit._prevCaretLine] jne .caretmoved cmp edx, [esi+TFreshEdit._prevInsMode] je .caretposok .caretmoved: stdcall TFreshEdit.__UpdateCaretPosition, esi |
︙ | ︙ | |||
2520 2521 2522 2523 2524 2525 2526 | mov ecx, [esi+TFreshEdit._LeftColumn] mov [esi+TFreshEdit._prevTopLine], eax mov [esi+TFreshEdit._prevLeftColumn], ecx mov eax, [esi+TFreshEdit._xCaret] mov ecx, [esi+TFreshEdit._yCaret] mov edx, [esi+TFreshEdit._InsMode] | | | | 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 | mov ecx, [esi+TFreshEdit._LeftColumn] mov [esi+TFreshEdit._prevTopLine], eax mov [esi+TFreshEdit._prevLeftColumn], ecx mov eax, [esi+TFreshEdit._xCaret] mov ecx, [esi+TFreshEdit._yCaret] mov edx, [esi+TFreshEdit._InsMode] mov [esi+TFreshEdit._prevCaretChar], eax mov [esi+TFreshEdit._prevCaretLine], ecx mov [esi+TFreshEdit._prevInsMode], edx mov eax, [esi+TFreshEdit._xSelection] mov ecx, [esi+TFreshEdit._ySelection] sub eax, [esi+TFreshEdit._xCaret] sub ecx, [esi+TFreshEdit._yCaret] mov edx, [esi+TFreshEdit._SelMode] |
︙ | ︙ | |||
2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 | .finish_event: test [.changes], chgfFinished jz .continue clc jmp .finish ;......................................................................................... .paint: cmp [esi+TFreshEdit._fShadowValid], 0 jne @f stdcall TFreshEdit.__DrawShadow, esi @@: stdcall SetClipRectangle, [ebx+TPaintEvent.context], 0 stdcall TScrollWindow.SysEventHandler, [.pobj], [.pEvent] stdcall DrawBackBuffer, [ebx+TPaintEvent.context], [esi+TFreshEdit._pShadow], 0, 0 clc jmp .finish ;......................................................................................... .moveresize: stdcall Get, esi, TFreshEdit.FreeArea | > > > > > > > > > > > > > > > > > | 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 | .finish_event: test [.changes], chgfFinished jz .continue clc jmp .finish ;......................................................................................... uglobal Prevtime dd ? endg .paint: if defined options.DebugMode and options.DebugMode stdcall GetTimestamp xchg eax, [Prevtime] sub eax, [Prevtime] neg eax OutputRegister regEAX, 10 end if cmp [esi+TFreshEdit._fShadowValid], 0 jne @f stdcall TFreshEdit.__DrawShadow, esi @@: stdcall SetClipRectangle, [ebx+TPaintEvent.context], 0 stdcall TScrollWindow.SysEventHandler, [.pobj], [.pEvent] stdcall DrawBackBuffer, [ebx+TPaintEvent.context], [esi+TFreshEdit._pShadow], 0, 0 ; debug mode of autoscroll with maximal speed. ; execute esi, TFreshEdit.Move, mvcMoveY or mvcScrollY, 2, TRUE ; execute esi, TFreshEdit.Refresh ; stdcall TFreshEdit.__UpdateScrollBars, esi clc jmp .finish ;......................................................................................... .moveresize: stdcall Get, esi, TFreshEdit.FreeArea |
︙ | ︙ | |||
2596 2597 2598 2599 2600 2601 2602 | mov [esi+TFreshEdit._fShadowValid], 0 jmp .continue endp ;_________________________________________________________________________________________ | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 | mov [esi+TFreshEdit._fShadowValid], 0 jmp .continue endp ;_________________________________________________________________________________________ proc TFreshEdit.__DrawShadow, .editor .context dd ? .latest dd ? .color dd ? |
︙ | ︙ | |||
2743 2744 2745 2746 2747 2748 2749 | cmp eax, [edi+TBackBuffer.width] jge .wrapok stdcall SetSimpleLine, [.context], [FreshEditTheme.clWrapColumn] stdcall DrawLine, [.context], eax, 0, eax, [edi+TBackBuffer.height] .wrapok: | < | < < < < < < < < < < < < < < | < < < < | < < < < > > > | < < < < < < < < < < < < < | < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | | | | | | | | | | | | | | | | | | | | | | | | < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > < < < < < < < < < < < < < < | < > > < | < | < < | | | | | < | < < | | < < < | | < < | < < | < < < | | | < | | < < < < | < | > < | < < < > | 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 | cmp eax, [edi+TBackBuffer.width] jge .wrapok stdcall SetSimpleLine, [.context], [FreshEditTheme.clWrapColumn] stdcall DrawLine, [.context], eax, 0, eax, [edi+TBackBuffer.height] .wrapok: mov ebx, [esi+TFreshEdit._pLines] mov edx, [esi+TFreshEdit._TopLine] xor ecx, ecx ; so draw the lines. .lineloop: cmp ecx, [edi+TBackBuffer.height] jge .endlines cmp edx, [ebx+TArray.count] jae .endlines ; call the TFreshEditLineType.procDraw for the current line type. stdcall TFreshEdit.__DrawLine, esi, [.context], edx, ecx add ecx, [esi+TFreshEdit._fontheight] inc edx jmp .lineloop .endlines: ; fix the left line border to the end of the windows. mov eax, [esi+TFreshEdit.__LeftMargin] sub eax, 2 stdcall SetSimpleLine, [.context], [FreshEditTheme.clLeftMarginBorder] stdcall DrawLine, [.context], eax, ecx, eax, [edi+TBackBuffer.height] stdcall SetSimpleLine, [.context], [FreshEditTheme.clLeftMargin] dec eax stdcall DrawLine, [.context], eax, ecx, eax, [edi+TBackBuffer.height] dec eax stdcall DrawLine, [.context], eax, ecx, eax, [edi+TBackBuffer.height] stdcall ReleaseContext, [.context] .finish: mov [esi+TFreshEdit._fShadowValid], 1 popad return endp ; y is the coordinate of the top of the line! ; returns the height of the line in characters. ; if the line is not drawn (because is hidden) returns 0 proc TFreshEdit.__DrawLine, .editor, .context, .iLine, .y .attr dd ? .ysel0 dd ? .xsel0 dd ? .ysel1 dd ? .xsel1 dd ? begin pushad mov esi, [.editor] mov eax, [.iLine] mov edi, [esi+TFreshEdit._pLines] shl eax, TEditorLine.shift lea edi, [edi+TArray.array+eax] ; now draw transparent selection ; selection bounds. mov eax, [esi+TFreshEdit._xSelection] mov ecx, [esi+TFreshEdit._ySelection] mov ebx, [esi+TFreshEdit._xCaret] mov edx, [esi+TFreshEdit._yCaret] cmp ecx, edx jl @f je .sortx xchg ecx, edx cmp [esi+TFreshEdit._SelMode], selmChar jne @f xchg eax, ebx @@: cmp [esi+TFreshEdit._SelMode], selmChar je .endsort .sortx: cmp eax, ebx jle @f xchg eax, ebx @@: .endsort: mov [.xsel0], eax mov [.ysel0], ecx mov [.xsel1], ebx mov [.ysel1], edx mov eax, [.iLine] cmp eax, [.ysel0] jl .end_sel cmp eax, [.ysel1] jg .end_sel mov eax, [esi+TFreshEdit._SelMode] cmp eax, selmChar je .selchar ; sel block mov eax, [.xsel0] cmp eax, [.xsel1] je .end_sel sub eax, [esi+TFreshEdit._LeftColumn] jge @f xor eax, eax @@: imul eax, [esi+TFreshEdit._fontwidth] add eax, [esi+TFreshEdit.__LeftMargin] mov ecx, [.xsel1] sub ecx, [esi+TFreshEdit._LeftColumn] jge @f xor ecx, ecx @@: imul ecx, [esi+TFreshEdit._fontwidth] add ecx, [esi+TFreshEdit.__LeftMargin] sub ecx, eax jmp .drawsel .selchar: xor eax, eax mov edx, [.iLine] cmp edx, [.ysel0] jne .firstok mov eax, [.xsel0] sub eax, [esi+TFreshEdit._LeftColumn] jge .firstok xor eax, eax .firstok: imul eax, [esi+TFreshEdit._fontwidth] add eax, [esi+TFreshEdit.__LeftMargin] mov ecx, [esi+TFreshEdit._cols] ; selection is to the end of the line, for the intermediate lines. inc ecx cmp edx, [.ysel1] jne .lastok mov ecx, [.xsel1] sub ecx, [esi+TFreshEdit._LeftColumn] test ecx, ecx jns .lastok xor ecx, ecx .lastok: imul ecx, [esi+TFreshEdit._fontwidth] add ecx, [esi+TFreshEdit.__LeftMargin] sub ecx, eax .drawsel: mov edx, [.y] ; sub edx, [esi+TFreshEdit._fontheight] ; add edx, 3 ; stdcall SetDrawMode, [.context], [FreshEditTheme.clSelMode] stdcall SetDrawMode, [.context], cmCopy stdcall DrawFillRect, [.context], eax, edx, ecx, [esi+TFreshEdit._fontheight], [FreshEditTheme.clSelBack] .end_sel: mov eax, [.iLine] mov edi, [esi+TFreshEdit._pLines] shl eax, TEditorLine.shift lea edi, [edi+TArray.array+eax] ; draw the text of the line ; allocate memory for the color data. stdcall StrLen, [edi+TEditorLine.Data] test eax, eax jz .end_draw_text mov ecx, eax shl eax, 4 ; sizeof.TCharAttr = 16 stdcall GetMem, eax ; attr array. mov [.attr], eax mov edx, eax mov ebx, [FreshEditTheme.clSimpleText] test [edi+TEditorLine.flags], lfProtected jz @f mov ebx, [FreshEditTheme.clProtectedText] @@: mov eax, [esi+TFreshEdit._Font] ; fill the attribute array with the default values. .attrloop: mov [edx+TCharAttr.color], ebx mov [edx+TCharAttr.font], eax lea edx, [edx+sizeof.TCharAttr] loop .attrloop .attrok: ; Call the syntax highlighter if any: cmp [esi+TFreshEdit._procSyntax], 0 je .syntaxok ; get the syntax context of the previous line: xor ecx, ecx cmp [.iLine], ecx je .prev_ok ; there is no previous line lea edx, [edi-sizeof.TEditorLine] mov ecx, [edx+TEditorLine.syn_context] or ecx, ttNewLine ; ecx contains the syntax context: .prev_ok: stdcall [esi+TFreshEdit._procSyntax], [edi+TEditorLine.Data], [.attr], ecx mov [edi+TEditorLine.syn_context], eax .syntaxok: stdcall StrPtr, [edi+TEditorLine.Data] mov ecx, [.y] add ecx, [esi+TFreshEdit._fontheight] sub ecx, [esi+TFreshEdit._fontdescent] stdcall DrawColoredString, [.context], eax, [.attr], [eax+string.len], [esi+TFreshEdit.__LeftMargin], \ ecx, [esi+TFreshEdit._LeftColumn], [esi+TFreshEdit._fontwidth], [esi+TFreshEdit._fontheight] stdcall FreeMem, [.attr] .end_draw_text: stdcall TFreshEdit.__DrawLeftMargin, esi, [.context], edi, [.y] .finish_draw_line: popad return endp proc TFreshEdit.__DrawLeftMargin, .editor, .context, .pLine, .y .x dd ? .width dd ? .height dd ? .maxptr dd ? .ytext dd ? .yicons dd ? .unfold dd ? ; is the line folded? .pNext dd ? ; pointer to the next line. .pPrev dd ? ; pointer to the previous line. .fold_icon dd ? .fold_line dd ? begin pushad mov esi, [.editor] test [FreshEditTheme.Options], eoLeftMargin jz .finish stdcall SetDrawMode, [.context], cmCopy mov edx, [esi+TFreshEdit._pLines] mov ecx, [edx+TArray.count] shl ecx, TEditorLine.shift lea ecx, [edx+TArray.array+ecx] mov [.maxptr], ecx mov ecx, [.pLine] sub ecx, sizeof.TEditorLine cmp ecx, [esi+TFreshEdit._pLines] ja @f xor ecx, ecx @@: mov [.pPrev], ecx mov ecx, [.pLine] add ecx, sizeof.TEditorLine mov [.pNext], ecx mov [.unfold], 0 mov edx, [.pLine] ; determine the bounds of the drawing mov eax, [esi+TFreshEdit.__LeftMargin] mov ecx, [esi+TFreshEdit._fontheight] mov [.width], eax mov [.height], ecx xor eax, eax mov [.x], eax mov eax, [.y] add eax, [esi+TFreshEdit._fontheight] sub eax, [esi+TFreshEdit._fontdescent] mov [.ytext], eax mov ecx, [esi+TFreshEdit._iconBreakpointA] mov eax, [esi+TFreshEdit._fontheight] sub eax, [ecx+TImage.height] sar eax, 1 adc eax, [.y] mov [.yicons], eax ; draw the bookmark background. test [edx+TEditorLine.flags], lfBookmark jz .bookmarkok mov eax, [.width] sub eax, 4 stdcall DrawFillRect, [.context], [.x], [.y], eax, [.height], [FreshEditTheme.clBookmarkBack] .bookmarkok: |
︙ | ︙ | |||
3199 3200 3201 3202 3203 3204 3205 | dec eax stdcall DrawLine, [.context], eax, [.y], eax, ecx jmp .borderok .wrap_border: dec ecx | | | > > > | > | | | | > > > < > | | | | > | | | 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 | dec eax stdcall DrawLine, [.context], eax, [.y], eax, ecx jmp .borderok .wrap_border: dec ecx push ecx eax [.y] eax [.context] ; vertical ye x ys x push [.y] eax [.y] eax [.context] ; upper edge ys push ecx eax ecx eax [.context] ; down edge ; down edge mov ebx, [.pNext] sub dword [esp+4], 2 sub dword [esp+12], 2 sub dword [esp+16], 2 stdcall DrawLine sub dword [esp+4], 2 add dword [esp+16], 2 sub dword [esp+12], 2 stdcall DrawLine sub dword [esp+4], 2 add dword [esp+8], 2 sub dword [esp+12], 2 sub dword [esp+16], 1 stdcall DrawLine mov ebx, [FreshEditTheme.clLeftMargin] test [edx+TEditorLine.flags], lfBookmark jz @f mov ebx, [FreshEditTheme.clBookmarkBack] @@: stdcall SetSimpleLine, [.context], ebx mov ebx, [.pNext] push ecx eax ecx eax [.context] ; down edge push ecx eax ecx eax [.context] ; down edge sub dword [esp+4], 2 stdcall DrawLine sub dword [esp+4], 2 sub dword [esp+8], 1 sub dword [esp+12], 2 stdcall DrawLine push [.y] eax [.y] eax [.context] ; upper edge push [.y] eax [.y] eax [.context] ; upper edge sub dword [esp+4], 2 stdcall DrawLine sub dword [esp+4], 2 add dword [esp+8], 1 sub dword [esp+12], 2 stdcall DrawLine ; Line number draw .borderok: test [FreshEditTheme.Options], eoLineNumbers jz .line_numbers_ok mov ecx, [.pLine] sub ecx, [esi+TFreshEdit._pLines] sub ecx, TArray.array shr ecx, TEditorLine.shift inc ecx stdcall NumToStr, ecx, ntsDec or ntsUnsigned push eax eax stdcall StrLen, eax mov ecx, eax stdcall StrPtr ; from the stack mov ebx, eax stdcall GetTextBounds, [.context], eax, ecx, 0 sub eax, [esi+TFreshEdit.__NumberMargin] neg eax stdcall DrawString, [.context], ebx, ecx, eax, [.ytext], 0, [FreshEditTheme.clLeftMarginText] stdcall StrDel ; from the stack .line_numbers_ok: ; draw icons in the middle ; icon breakpoint mov edx, [.pLine] test [edx+TEditorLine.flags], lfBreakpoint jnz .draw_breakpoint cmp [edx+TEditorLine.debugdata], 0 je .breakpoint_ok .draw_breakpoint: |
︙ | ︙ | |||
3300 3301 3302 3303 3304 3305 3306 | mov ecx, [esi+TFreshEdit._iconBreakpointI] @@: stdcall DrawMaskedImage, [.context], eax, ecx .breakpoint_ok: ; draw fold tree. | < | < | | < < | < > > > > > | | < < < | < | 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 | mov ecx, [esi+TFreshEdit._iconBreakpointI] @@: stdcall DrawMaskedImage, [.context], eax, ecx .breakpoint_ok: ; draw fold tree. mov edx, [.pLine] ; first, determine, what icon should be set for fold/unfold icon: xor ecx, ecx mov eax, [.pNext] cmp eax, [.maxptr] jae @f mov ecx, eax @@: cmp [.pPrev], 0 je .fold_fold mov eax, [.pPrev] mov eax, [edx-sizeof.TEditorLine+TEditorLine.fold_level] cmp eax, [edx+TEditorLine.fold_level] jb .fold_fold jecxz .fold_end mov eax, [ecx+TEditorLine.fold_level] cmp eax, [edx+TEditorLine.fold_level] ja .fold_continue jb .fold_end .fold_end: xor eax, eax mov ecx, 2 ; 2 means corner up/right jmp .fold_ok .fold_fold: mov ecx, 1 ; 1 means half vertical down mov eax, [esi+TFreshEdit._iconUnfold] mov eax, [esi+TFreshEdit._iconFold] jmp .fold_ok .fold_continue: xor eax, eax xor ecx, ecx ; 0 means full vertical line |
︙ | ︙ | |||
3414 3415 3416 3417 3418 3419 3420 | .height dd ? .offset dd ? begin push eax ebx edx mov ebx, [.editor] | < | 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 | .height dd ? .offset dd ? begin push eax ebx edx mov ebx, [.editor] mov eax, [ebx+TFreshEdit._fontheight] mov edx, [ebx+TFreshEdit._fontwidth] mov [.offset], 0 cmp [ebx+TFreshEdit._InsMode], modeInsert jne .sizeok |
︙ | ︙ | |||
3475 3476 3477 3478 3479 3480 3481 | proc TFreshEdit.__UpdateScrollBars, .editor begin push eax ebx ecx edx mov ebx, [.editor] ; V scroller | | | 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 | proc TFreshEdit.__UpdateScrollBars, .editor begin push eax ebx ecx edx mov ebx, [.editor] ; V scroller mov eax, [ebx+TFreshEdit._pLines] mov eax, [eax+TArray.count] sub eax, [ebx+TFreshEdit._rows] mov [ebx+TFreshEdit._VScroller.Max], eax mov eax, [ebx+TFreshEdit._TopLine] mov [ebx+TFreshEdit._VScroller.Pos], eax |
︙ | ︙ | |||
3562 3563 3564 3565 3566 3567 3568 | .endset: test eax, eax pop esi edx ecx ebx return endp | < < < < < < < < < < < < < < < < < < < | < < < < | > | | | | < < < | < < < | < < < | < < | < < | < < < | < | < < < < < | < < < < < < < < < < | < | < < < < | | | | | < < | < < | < < < < | < < | < < < < < < < < < < < < < < < < | | > < | | | < | < | < | < < < < < < | < < | | < | | < < < < | < < < < < < < < < < < | | | < | | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < | < < < < < < < < < < < < | 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 | .endset: test eax, eax pop esi edx ecx ebx return endp ; Arguments: ; ; Returns: ; CF=0 ; eax - number of the line ; edx - offset inside the line ; CF=1 ; the pixel is outside the client area. ; proc TFreshEdit.__PixelToCaretPos, .editor, .x, .y begin push ebx ecx esi edi xor ecx, ecx mov esi, [.editor] ; x mov eax, [.y] mov edx, [esi+TFreshEdit._FreeArea.y] cmp eax, edx jl .nomove add edx, [esi+TFreshEdit._FreeArea.height] cmp eax, edx jge .nomove mov eax, [.x] mov edx, [esi+TFreshEdit._FreeArea.x] cmp eax, edx jl .nomove add edx, [esi+TFreshEdit._FreeArea.width] cmp eax, edx jge .nomove sub eax, [esi+TFreshEdit.__LeftMargin] jge @f xor eax, eax @@: cdq idiv [esi+TFreshEdit._fontwidth] add eax, [esi+TFreshEdit._LeftColumn] push eax ; y mov eax, [.y] cdq idiv [esi+TFreshEdit._fontheight] add eax, [esi+TFreshEdit._TopLine] pop edx clc .finish: pop edi esi ecx ebx return .nomove: stc jmp .finish endp proc TFreshEdit.__FixLength, .editor, .newlen, .oldlen begin push eax ecx edx esi edi |
︙ | ︙ | |||
3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 | mov [esi+TFreshEdit._pLengths], edx pop edi esi edx ecx eax return endp proc TFreshEdit.__ComputeLeftMargin, .editor begin pushad mov esi, [.editor] xor ebx, ebx mov [esi+TFreshEdit.__NumberMargin], ebx | > | 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 | mov [esi+TFreshEdit._pLengths], edx pop edi esi edx ecx eax return endp proc TFreshEdit.__ComputeLeftMargin, .editor begin pushad mov esi, [.editor] xor ebx, ebx mov [esi+TFreshEdit.__NumberMargin], ebx |
︙ | ︙ | |||
3907 3908 3909 3910 3911 3912 3913 | proc TFreshEdit.__FoldZoneLen, .editor, .index .result dd ? begin pushad mov [.result], 0 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | > > > > > > > > > > > > > > < | | < < | 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 | proc TFreshEdit.__FoldZoneLen, .editor, .index .result dd ? begin pushad mov [.result], 0 ; mov esi, [.editor] ; mov edi, [esi+TFreshEdit._pLines] ; mov edx, [esi+TFreshEdit._pIndex] ; ; mov eax, [.index] ; cmp eax, [edx+TArray.count] ; jae .finish ; ; mov ecx, [edx+TArray.array+4*eax] ; index of the first element. ; shl ecx, TEditorLine.shift ; mov ebx, [edi+TArray.array+ecx+TEditorLine.fold_level] ; ;.loop: ; inc [.result] ; inc eax ; cmp eax, [edx+TArray.count] ; je .finish ; ; mov ecx, [edx+TArray.array+4*eax] ; cmp ecx, -1 ; je .loop ; ; shl ecx, TEditorLine.shift ; ; cmp [edi+TArray.array+ecx+TEditorLine.fold_level], ebx ; jb .finish ; ja .loop ; ; test [edi+TArray.array+ecx+TEditorLine.flags], lfFoldHeader ; jz .loop .finish: popad mov eax, [.result] return endp proc TFreshEdit.__AddFormatLine, .hstring, .format begin test [.format], lfBookmark or lfWordWrap or lfProtected jz .format_ok stdcall StrCharCat, [.hstring], ';' test [.format], lfBookmark jz @f stdcall StrCharCat, [.hstring], 'b' ; ctrl-B == Bookmark @@: test [.format], lfWordWrap jz @f stdcall StrCharCat, [.hstring], 'w' ; ctrl-A == Word wrap @@: test [.format], lfProtected jz @f stdcall StrCharCat, [.hstring], 'p' ; ctrl-D == Protected @@: stdcall StrCharCat, [.hstring], ':F#;' stdcall StrCharCat, [.hstring], $0a0d .format_ok: return endp ; decodes format line (begining with ';#F:') ; returns: ; CF=0 if the line contains format information. ; eax - format flags ; ecx - format line length; ; ; decodes format line (ending with ':F#;') ; returns: ; CF=0 if the line contains format information. ; eax - format flags ; ecx - format line length; ; proc TFreshEdit.__DecodeFormatLine, .pString begin push ebx esi std mov esi, [.pString] mov ecx, [esi+string.len] jecxz .not_format lea esi, [esi+ecx-1] lodsb cmp al, ';' jne .not_format lodsb cmp al, '#' jne .not_format lodsb cmp al, 'F' jne .not_format lodsb cmp al, ':' jne .not_format xor ebx, ebx .format_loop: lodsb jecxz .eol cmp al, ';' je .eol cmp al, 'b' jne @f or ebx, lfBookmark jmp .format_loop @@: |
︙ | ︙ | |||
4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 | jmp .format_loop @@: .not_format: xor eax, eax pop esi ebx stc return .eol: | > < < < < < < < < > > > > > > > > | 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 | jmp .format_loop @@: .not_format: xor eax, eax pop esi ebx stc cld return .eol: sub esi, [.pString] mov ecx, esi mov eax, ebx pop esi ebx clc cld return endp endmodule |
Added freshlib/FreshEdit/FreshEdit2.asm.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 | include "FreshEditThemes.asm" include "LineProcessors.asm" ObjectClass FreshEdit, \ ScrollWindow, \ TFreshEdit.Create, \ TFreshEdit.Destroy, \ TFreshEdit.Get, \ TFreshEdit.Set, \ TFreshEdit.ExecCmd, \ TFreshEdit.SysEventHandler ; values for ._EditorMode field femSelBlock = 1 femOverwrite = 2 object TFreshEdit, TScrollWindow ; system font sizes (used for additional texts and line numbers) ._Font2 dd ? ; Supplementary font. ._fontwidth2 dd ? ; in pixels. ._fontheight2 dd ? ; in pixels. ._fontdescent2 dd ? ; in pixels. ; Shadow object for double buffered paint and other paint related fields. ._pShadow dd ? ; pointer to TBackBuffer object. ._fShadowValid dd ? ; the shadow buffer is valid and should not be repainted. ; Text related data structures. ._pLines dd ? ; TArray of dword pointers to TEditorLine structures. ._pLengths dd ? ; TArray with count of the lines of given width (in pixels). ; It is needed for horizontal scrollbar adjustment. ; when non textual lines are selected, the entire lines should be selected actually. ._CaretLine dd ? ; index of the line where caret resides. ._CaretChar dd ? ; char of the line where caret resides. It can be bigger than the line length. ._SelLine dd ? ; index of the line where selection starts. ._SelChar dd ? ; char of the line where selection starts. ._WrapX dd ? ; X coordinate (in pixels) where the lines should be word wraped. .__LeftMargin dd ? ; width of the left margin field. .__NumberMargin dd ? ; Syntax highlighter ._procSyntax dd ? ; procedure for syntax highlighting. ; params of TFreshEdit ; methods of TFreshEdit ; internal methods method .__DrawShadow method .__ComputeLeftMargin ; public methods method .Clear ; clears the text of the editor. method .AppendLine, .hText ; appends the line at the end of the text. method .LoadFromFile, .hFilename endobj ; TEditorLine.flags lfBookmark = 1 ; the line have bookmark set. lfProtected = 2 ; the line can not be edited. lfWordWrap = 4 ; the line must be word wrapped. lfBreakpoint = 8 ; set breakpoint in debug mode. lfFormatted = $10 struct TEditorLine .pProcessor dd ? ; pointer to TLineProcessor structure, that will process this line. .pData dd ? ; internal representation of the line data. ; Can differs for different types of lines. ; the canonical content of this field is a handle of string with the text ; of the line in UTF-8 encoding. All editors must understand this type ; and to convert back to it. .LineY dd ? ; Y coordinate of the line in pixels inside the document. .LineH dd ? ; Height of the line in pixels. .flags dd ? .syn_context dd ? .debug_data dd ? .pRenderInfo dd ? ; pointer to some internal rendering info for this line. ; this array must exists only when the line is inside the ; visible window. ends ;_______________________________________________________________________________________________ proc TFreshEdit.Create, .pobj begin mov ebx, [.pobj] mov [ebx+TFreshEdit._cursor], mcText mov [ebx+TFreshEdit._WrapX], 640 stdcall CreateBackBuffer, [ebx+TFreshEdit.handle], 1, 1 mov [ebx+TFreshEdit._pShadow], eax execute ebx, TFreshEdit.Clear clc return endp ;_______________________________________________________________________________________________ proc TFreshEdit.Destroy, .pobj begin mov ebx, [.pobj] execute ebx, TFreshEdit.Clear ; destroy arrays. stdcall FreeMem, [ebx+TFreshEdit._pLines] stdcall FreeMem, [ebx+TFreshEdit._pLengths] ; destroy the shadow buffer. stdcall DestroyBackBuffer, [ebx+TFreshEdit._pShadow] clc return endp ;_______________________________________________________________________________________________ dproc TFreshEdit.Get, .pobj, .paramID begin mov ecx, [.pobj] dispatch [.paramID] stc return enddp ;_______________________________________________________________________________________________ dproc TFreshEdit.Set, .pobj, .paramID, .value begin pushad mov esi, [.pobj] mov ebx, [.value] dispatch [.paramID] .continue: stc popad return enddp ;_______________________________________________________________________________________________ dproc TFreshEdit.ExecCmd, .self, .method begin pushad mov esi, [.self] dispatch [.method] stc popad return oncase TFreshEdit.LoadFromFile virtual at ebx .hFilename dd ? end virtual execute esi, TFreshEdit.Clear stdcall FileOpen, [.hFilename] jc .error mov edx, eax .load_loop: stdcall FileReadLine, edx jc .error_close test eax, eax jz .end_of_file push eax execute esi, TFreshEdit.AppendLine, eax stdcall StrDel ; from the stack. jmp .load_loop .end_of_file: stdcall FileClose, edx mov [esi+TFreshEdit._fShadowValid], 0 popad xor eax, eax clc return .error_close: stdcall FileClose, edx mov [esi+TFreshEdit._fShadowValid], 0 .error: mov [esp+4*regEAX], eax popad clc return ;.............................................................................................. oncase TFreshEdit.AppendLine virtual at ebx .hText dd ? end virtual stdcall GetMem, sizeof.TEditorLine mov edi, eax ; append the line to the text... stdcall AddArrayItems, [esi+TFreshEdit._pLines], 1 mov [esi+TFreshEdit._pLines], edx mov [eax], edi mov [edi+TEditorLine.pProcessor], lprTextLine stdcall textLineCreate, edi, [.hText] xor edx, edx mov ebx, [esi+TFreshEdit._pLines] mov eax, [ebx+TArray.count] cmp eax, 1 je .coor_ok mov eax, [ebx+TArray.array+4*eax-8] mov edx, [eax+TEditorLine.LineY] add edx, [eax+TEditorLine.LineH] .coor_ok: mov [edi+TEditorLine.LineY], edx mov [edi+TEditorLine.LineH], 16 stdcall TFreshEdit.__UpdateScrollbars clc popad return ;.............................................................................................. oncase TFreshEdit.Clear mov ebx, [esi+TFreshEdit._pLines] test ebx, ebx jz .endclr1 mov ecx, [ebx+TArray.count] .clrloop: dec ecx js .endclr mov edi, [ebx+TArray.array+4*ecx] mov edx, [edi+TEditorLine.pProcessor] test edx, edx jz .line_ok stdcall [edx+TLineProcessor.__Free], edi .line_ok: stdcall FreeMem, edi mov [ebx+TArray.array+4*ecx], 0 jmp .clrloop .endclr: stdcall FreeMem, ebx .endclr1: mov eax, [esi+TFreshEdit._pLengths] test eax, eax jz .all_cleared stdcall FreeMem, eax .all_cleared: stdcall CreateArray, 4 mov [esi+TFreshEdit._pLines], eax stdcall CreateArray, 4 mov [esi+TFreshEdit._pLengths], eax xor eax, eax mov [esi+TFreshEdit._fShadowValid], eax mov [esi+TFreshEdit._CaretLine], eax mov [esi+TFreshEdit._CaretChar], eax mov [esi+TFreshEdit._SelLine], eax mov [esi+TFreshEdit._SelChar], eax clc popad return ;.............................................................................................. oncase TFreshEdit.__ComputeLeftMargin xor ebx, ebx mov [esi+TFreshEdit.__NumberMargin], ebx test [FreshEditTheme.Options], eoLeftMargin jz .marginok test [FreshEditTheme.Options], eoLineNumbers jz .marginok1 mov eax, [esi+TFreshEdit._pLines] mov eax, [eax+TArray.count] test eax, eax jz .marginok1 mov ecx, 10 .digits: add ebx, [esi+TFreshEdit._fontwidth2] cdq div ecx test eax, eax jnz .digits mov [esi+TFreshEdit.__NumberMargin], ebx .marginok1: add ebx, 17+11+3+1 ; 17px breakpoints and other icons; 11px fold tree; 3px word-wrap cut; 1px whitespace at the begining of the line. .marginok: xchg [esi+TFreshEdit.__LeftMargin], ebx cmp ebx, [esi+TFreshEdit.__LeftMargin] je .end_clm .end_clm: clc popad return ;.............................................................................................. oncase TFreshEdit.__DrawShadow locals .context dd ? .clip TBounds .line dd ? endl execute esi, TFreshEdit.__ComputeLeftMargin mov edi, [esi+TFreshEdit._pShadow] stdcall AllocateContext, [edi+TBackBuffer.raster] mov [.context], eax mov eax, [edi+TBackBuffer.width] sub eax, [esi+TFreshEdit.__LeftMargin] mov [.clip.width], eax ; stdcall DrawFillRect, [.context], [esi+TFreshEdit.__LeftMargin], 0, eax, [edi+TBackBuffer.height], [FreshEditTheme.clBackground] mov ecx, [esi+TFreshEdit.__LeftMargin] mov edx, [edi+TBackBuffer.height] mov [.clip.x], ecx mov [.clip.height], edx mov [.clip.y], 0 lea eax, [.clip] stdcall SetClipRectangle, [.context], eax mov ebx, [esi+TFreshEdit._pLines] mov edx, [esi+TFreshEdit._VScroller.Pos] ; search the first line stdcall __SearchLine, ebx, edx jc .end_draw_lines ; ecx - index of the line. ; edx - offset inside the line. neg edx .line_loop: mov eax, [FreshEditTheme.clBackground] test [FreshEditTheme.Options], eoStripedBackground jz .color_ok test ecx, 1 jz .color_ok mov eax, [FreshEditTheme.clAltBack] .color_ok: push eax mov eax, [ebx+TArray.array+4*ecx] stdcall DrawFillRect, [.context], 0, edx, [edi+TBackBuffer.width], [eax+TEditorLine.LineH] ; color from the stack add [.clip.x], 2 sub [.clip.width], 2 lea eax, [.clip] stdcall SetClipRectangle, [.context], eax push edx ; Y mov eax, [esi+TFreshEdit._HScroller.Pos] neg eax add eax, [esi+TFreshEdit.__LeftMargin] add eax, 2 push eax ; X mov eax, [ebx+TArray.array+4*ecx] push eax mov [.line], eax mov eax, [eax+TEditorLine.pProcessor] stdcall [eax+TLineProcessor.Draw], [.context] ; remaining parameters from the stack... mov eax, [.line] add edx, [eax+TEditorLine.LineH] ; the Draw procedure can changes the line height ; that is why the change of the Y coordinate ; should be after draw call. sub [.clip.x], 2 add [.clip.width], 2 lea eax, [.clip] stdcall SetClipRectangle, [.context], eax cmp edx, [edi+TBackBuffer.height] jae .end_draw_lines inc ecx cmp ecx, [ebx+TArray.count] jb .line_loop ; clear to the end of the screen... mov eax, [edi+TBackBuffer.height] sub eax, edx stdcall DrawFillRect, [.context], 0,edx, [edi+TBackBuffer.width], eax, [FreshEditTheme.clAfterBackground] .end_draw_lines: mov eax, [esi+TFreshEdit._WrapX] sub eax, [esi+TFreshEdit._HScroller.Pos] add eax, [esi+TFreshEdit.__LeftMargin] add eax, 2 stdcall SetSimpleLine, [.context], [FreshEditTheme.clWrapColumn] stdcall DrawLine, [.context], eax, 0, eax, [edi+TBackBuffer.height] xor eax, eax xchg eax, [.clip.x] test eax, eax jz .left_ok mov [.clip.width], eax lea eax, [.clip] stdcall SetClipRectangle, [.context], eax stdcall DrawFillRect, [.context], 0, 0, [esi+TFreshEdit.__LeftMargin], [edi+TBackBuffer.height], [FreshEditTheme.clLeftMargin] stdcall SetSimpleLine, [.context], [FreshEditTheme.clLeftMarginBorder] mov eax, [esi+TFreshEdit.__LeftMargin] dec eax stdcall DrawLine, [.context], eax, 0, eax, [edi+TBackBuffer.height] .left_ok: stdcall ReleaseContext, [.context] clc popad return enddp ;_______________________________________________________________________________________________ dproc TFreshEdit.SysEventHandler, .pobj, .pEvent begin pushad mov esi, [.pobj] mov ebx, [.pEvent] dispatch [ebx+TSysEvent.event] .continue: stc popad return ;.............................................................................................. oncase sePaint xor eax, eax cmp [esi+TFreshEdit._pShadow], eax je .continue cmp [esi+TFreshEdit._fShadowValid], 0 jne @f execute esi, TFreshEdit.__DrawShadow @@: stdcall SetClipRectangle, [ebx+TPaintEvent.context], 0 stdcall TScrollWindow.SysEventHandler, esi, [.pEvent] stdcall DrawBackBuffer, [ebx+TPaintEvent.context], [esi+TFreshEdit._pShadow], 0, 0 clc popad return ;.............................................................................................. oncase seScroll cmp [ebx+TScrollEvent.ScrollBar], scrollX je .xscroll ; yscroll xor edx, edx mov ecx, [ebx+TScrollEvent.Value] cmp [ebx+TScrollEvent.ScrollCmd], scTrack je .track cmp [ebx+TScrollEvent.ScrollCmd], scWheelUp je .scrollwheelup cmp [ebx+TScrollEvent.ScrollCmd], scWheelDn je .scrollwheeldn cmp [ebx+TScrollEvent.ScrollCmd], scUp je .scrollup cmp [ebx+TScrollEvent.ScrollCmd], scDown je .scrolldn jmp .continue ; scroll down .scrollwheelup: neg ecx .scrollwheeldn: imul ecx, [FreshEditTheme.MouseWheel] .scrolldn: .scrollup: mov eax, [esi+TFreshEdit._VScroller.Pos] add eax, ecx jns .vsignok xor eax, eax .vsignok: cmp eax, [esi+TFreshEdit._VScroller.Max] jbe .vmaxok mov eax, [esi+TFreshEdit._VScroller.Max] .vmaxok: mov [esi+TFreshEdit._VScroller.Pos], eax jmp .refresh .track: ; mov [esi+TFreshEdit._VScroller.Pos], ecx jmp .refresh .xscroll: jmp .refresh .refresh: mov [esi+TFreshEdit._fShadowValid], 0 execute esi, TWindow.Refresh clc popad return ;.............................................................................................. oncase seMoveResize stdcall TScrollWindow.SysEventHandler, esi, [.pEvent] cmp [esi+TFreshEdit._pShadow], 0 je @f stdcall DestroyBackBuffer, [esi+TFreshEdit._pShadow] @@: stdcall Get, esi, TScrollWindow.FreeArea ; compute the free area. mov ecx, [eax+TBounds.width] mov edx, [eax+TBounds.height] stdcall CreateBackBuffer, [esi+TFreshEdit.handle], ecx, edx mov [esi+TFreshEdit._pShadow], eax mov [esi+TFreshEdit._fShadowValid], 0 stdcall TFreshEdit.__UpdateScrollbars clc popad return enddp proc TFreshEdit.__UpdateScrollbars begin push eax ebx ecx edx ; vertical mov ebx, [esi+TFreshEdit._pLines] mov ecx, [ebx+TArray.count] test ecx, ecx jz .yok dec ecx mov eax, [ebx+TArray.array+4*ecx] mov ecx, [eax+TEditorLine.LineY] add ecx, [eax+TEditorLine.LineH] .yok: mov edx, [esi+TFreshEdit._pShadow] mov edx, [edx+TBackBuffer.height] sub ecx, edx jns .yok2 xor ecx, ecx .yok2: mov [esi+TFreshEdit._VScroller.Max], ecx mov [esi+TFreshEdit._VScroller.Page], edx cmp [esi+TFreshEdit._VScroller.Pos], ecx jbe .pos_ok mov [esi+TFreshEdit._VScroller.Pos], ecx mov [esi+TFreshEdit._fShadowValid], 0 .pos_ok: ; horizontal mov ebx, [esi+TFreshEdit._pLengths] mov eax, [ebx+TArray.count] mov edx, [esi+TFreshEdit._pShadow] mov edx, [edx+TBackBuffer.width] sub edx, [esi+TFreshEdit.__LeftMargin] sub eax, edx mov eax, 1000 ; TEST ONLY!!! mov [esi+TFreshEdit._HScroller.Max], eax mov [esi+TFreshEdit._HScroller.Page], edx cmp [esi+TFreshEdit._HScroller.Pos], eax jbe @f mov [esi+TFreshEdit._HScroller.Pos], eax mov [esi+TFreshEdit._fShadowValid], 0 @@: pop edx ecx ebx eax return endp ; Computes the wrap positions for the given line of text and returns (possibly reallocated) ; array with the line wrap positions. If the line does not need wrapping - returns 0 and ; frees passed in [.pSublines] array. ; ; Arguments: ; .Data - the string with the line text. ; .pSublines - previously created dword array with wrap positions. ; the subroutine tries to use it and it is not possible, resize it accordingly. ; .RigthMargin - width of the sublines. ; proc __CreateSublines, .hText, .pSublines, .RightMargin begin pushad stdcall StrPtr, [.hText] mov esi, eax xor edi, edi ; count of the lines... .outer_loop: xor ebx, ebx ; the last wrap position. xor ecx, ecx ; current x position. .loop: stdcall DecodeUtf8, [esi] inc ecx test eax, eax jz .end_string cmp eax, ' ' jne .not_space lea ebx, [esi+edx] .next: add esi, edx jmp .loop .not_space: cmp ecx, [.RightMargin] jbe .next test ebx, ebx jnz .wraphere mov ebx, esi .wraphere: push ebx mov esi, ebx inc edi jmp .outer_loop .end_string: mov esi, [.pSublines] test edi, edi jnz .fill_sublines test esi, esi jz .exit_empty stdcall FreeMem, esi .exit_empty: popad xor eax, eax return ; there is no need for pSublines .fill_sublines: test esi, esi jz .allocate cmp edi, [esi] jbe .array_ok stdcall FreeMem, esi .allocate: lea eax, [4*edi+4] stdcall GetMem, eax mov esi, eax .array_ok: mov [esi], edi stdcall StrPtr, [.hText] .fill: popd [esi+4*edi] sub [esi+4*edi], eax dec edi jnz .fill mov [esp+4*regEAX], esi popad return endp proc __SearchLine, .pLines, .y begin pushad mov esi, [.pLines] xor ecx, ecx mov edx, [esi+TArray.count] dec edx .loop: cmp ecx, edx jg .not_found lea ebx, [ecx+edx] shr ebx, 1 mov edi, [esi+TArray.array+4*ebx] mov eax, [edi+TEditorLine.LineY] cmp [.y], eax jl .less add eax, [edi+TEditorLine.LineH] cmp [.y], eax jge .more .found: mov eax, [.y] sub eax, [edi+TEditorLine.LineY] mov [esp+4*regECX], ebx ; index of the line. mov [esp+4*regEDX], eax ; offset of the line. clc popad return .less: lea edx, [ebx-1] jmp .loop .more: lea ecx, [ebx+1] jmp .loop .not_found: stc popad return endp |
Added freshlib/FreshEdit/FreshEditTest.asm.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 | include "%lib%/freshlib.inc" @BinaryType GUI options.DebugMode = 0 include '%lib%/freshlib.asm' include 'FreshEdit2.asm' include "fasm_syntax.asm" iglobal frmMainForm: ObjTemplate tfParent or tfEnd, Form, frmMain, \ x, 100, \ y, 50, \ width, 640, \ height, 480, \ borderKind, borderFull, \ Visible, TRUE, \ Caption, 'FreshEdit test application.' ObjTemplate tfParent, Form, Toolbar, \ x, 0, y, 0, \ width, 100, height, 20, \ Align, waBottom, \ borderKind, borderNone, \ Visible, TRUE ObjTemplate tfChild, Button, btnOpen, \ x, 112, y, 2, \ width, 64, height, 21, \ Align, waLeft, \ Caption, 'Open', \ TextAlign, dtfAlignCenter or dtfAlignMiddle, \ OnClick, OnOpenFile, \ Visible, TRUE ObjTemplate tfChild, Button, btnSave, \ x, 180, y, 2, \ width, 64, height, 21, \ Align, waLeft, \ Caption, 'Save', \ TextAlign, dtfAlignCenter or dtfAlignMiddle, \ OnClick, OnSaveFile, \ Visible, TRUE ObjTemplate tfChild, Button, btnNumbers, \ x, 180, y, 2, \ width, 21, height, 21, \ Align, waLeft, \ Caption, '#', \ TextAlign, dtfAlignCenter or dtfAlignMiddle, \ OnClick, OnNumbers, \ Visible, TRUE ObjTemplate tfChild, Button, btnZebra, \ x, 180, y, 2, \ width, 21, height, 21, \ Align, waLeft, \ Caption, 'Z', \ TextAlign, dtfAlignCenter or dtfAlignMiddle, \ OnClick, OnZebra, \ Visible, TRUE ObjTemplate tfChild, Button, btnTheme, \ x, 180, y, 2, \ width, 21, height, 21, \ Align, waLeft, \ Caption, 'T', \ TextAlign, dtfAlignCenter or dtfAlignMiddle, \ OnClick, OnTheme, \ Visible, TRUE ObjTemplate tfEnd, Edit, FilenameEdit, \ x, 2, y, 2, \ width, 100, height, 21, \ Align, waClient, \ Visible, TRUE ObjTemplate tfEnd, FreshEdit, Editor, \ Visible, TRUE, \ x, 8, y, 8, \ width, 624, height, 464, \ Align, waClient SampleText file 'unicode_test.txt' dd 0 endg ;-------------------------------------------------------------------------- start: InitializeAll ; TEST CODE - to be removed later --------------------------------------- stdcall Output, '00000000001111111111222222222233333333334444444444555555555566666666667777777777' stdcall Output, <'01234567890123456789012345678901234567890123456789012345678901234567890123456789',13, 10> stdcall PrintWrappedLine, cTestString, 25 stdcall PrintWrappedLine, cTestString2, 25 stdcall PrintWrappedLine, cTestString2, 60 ; END OF THE TEST CODE --------------------------------------------------- stdcall Create, CApplication jc .start_error mov [pApplication], ebx stdcall [lprTextLine.Initialize] stdcall CreateFromTemplate, frmMainForm, 0 mov ecx, [pApplication] mov [ecx+TApplication.MainWindow], frmMain execute [Editor], TFreshEdit.LoadFromFile, 'unicode_test.txt' execute [Editor], TFreshEdit.AppendLine, 'This is Test line' execute [Editor], TFreshEdit.AppendLine, 'This is Test line number 2' execute [Editor], TFreshEdit.AppendLine, 'This is the third test line.' stdcall Set, [Editor], TFreshEdit._procSyntax, SyntaxFASM ; stdcall Set, [Editor], TFreshEdit.OnControlKey, procKeyPress ; stdcall Set, [Editor], TFreshEdit.Text, SampleText ; TEST CODE - to be removed later --------------------------------------- stdcall SaveTheme, 'test.cfg', FreshEditTheme, pThemePath1 stdcall TFETheme.SetDefaultThemeClassic, FreshEditTheme stdcall SaveTheme, 'test.cfg', FreshEditTheme, pThemePath2 iglobal pThemePath1 dd 'EThm', 'tWin', 0 pThemePath2 dd 'EThm', 'tCls', 0 endg ; END OF THE TEST CODE --------------------------------------------------- stdcall Run .terminate: stdcall [lprTextLine.Finalize] FinalizeAll stdcall Terminate, 0 .start_error: DebugMsg "Can't create application object." jmp .terminate var FreshEditSetTheme = TFETheme.SetDefaultThemeWindows proc OnTheme, .self, .mousebtn begin xor [FreshEditSetTheme], TFETheme.SetDefaultThemeWindows xor TFETheme.SetDefaultThemeClassic stdcall [FreshEditSetTheme], FreshEditTheme xor [SynTheme], fasm_colors_classic xor fasm_colors_windows execute [Editor], TFreshEdit.Refresh return endp proc OnZebra, .self, .mousebtn begin xor [FreshEditTheme.Options], eoStripedBackground execute [Editor], TFreshEdit.Refresh return endp proc OnNumbers, .self, .mousebtn begin xor [FreshEditTheme.Options], eoLineNumbers execute [Editor], TFreshEdit.Refresh return endp cErrorTitleOpen text "Error open file." cErrorTitleSave text "Error save file." proc OnSaveFile, .self, .mousebtn begin pushad ; stdcall Get, [FilenameEdit], TEdit.Text ; push eax ; stdcall StrPtr, eax ; mov edi, eax ; ; stdcall Get, [Editor], TFreshEdit.Text ; jc .finish ; ; push eax ; stdcall StrPtr, eax ; ; stdcall SaveBinaryFile, edi, eax, [eax+string.len] ; jnc .end_save ; ; stdcall GetErrorString, eax ; mov esi, eax ; stdcall ShowMessage, [frmMain], smiError, cErrorTitleSave, esi, smbOK ; stdcall FreeErrorString, esi ; ;.end_save: ; stdcall StrDel ; from the stack ;.finish: ; stdcall StrDel ; from the stack popad return endp proc OnOpenFile, .self, .mousebtn begin pushad ; Load test file ; stdcall Get, [FilenameEdit], TEdit.Text ; push eax ; ; stdcall StrPtr, eax ; stdcall LoadBinaryFile, eax ; jnc .loaded ; ; stdcall GetErrorString, eax ; mov esi, eax ; stdcall ShowMessage, [frmMain], smiError, cErrorTitleOpen, esi, smbOK ; stdcall FreeErrorString, esi ; jmp .exit ; ;.loaded: ; push eax ; stdcall Set, [Editor], TFreshEdit.Text, eax ; stdcall FreeMem ; from the stack ; ;.exit: ; stdcall StrDel ; from the stack ; ; mov eax, [Editor] ; mov [eax+TFreshEdit._xCaret], 0 ; mov [eax+TFreshEdit._yCaret], 0 ; mov [eax+TFreshEdit._xSelection], 0 ; mov [eax+TFreshEdit._ySelection], 0 ; ;; stdcall ParseFolding, [eax+TFreshEdit._pLines] ; ; execute [Editor], TFreshEdit.Refresh ; execute [Editor], TFreshEdit.Focus popad return endp proc procKeyPress, .self, .keyevent begin return ; mov ebx, [.keyevent] ; ; mov eax, [ebx+TKeyboardEvent.key] ; ; cmp eax, $03 ; ctrl+C ; je .copy ; cmp eax, $16 ; ctrl+V ; je .paste ; cmp eax, 12 ; ctrl+L ; je .length_list ; cmp eax, 18 ; ctrl+R ; je .clipright ; cmp eax, 19 ; ctrl+S == save ; je .save ; cmp eax, 20 ; ctrl+T ; je .test_something ; ; cmp [ebx+TKeyboardEvent.scancode], keyF2 ; je .toggle_breakpoint ; ;.finish: ; mov eax, chgfNoClearSelection ;.exit: ; return ; ;.copy: ; stdcall Get, [.self], TFreshEdit.Selection ; test eax, eax ; jz .end_copy ; stdcall ClipboardWrite, eax ; stdcall StrDel, eax ;.end_copy: ; mov eax, chgfNoClearSelection ; return ; ;.paste: ; stdcall ClipboardRead ; test eax, eax ; jz .end_paste ; ; stdcall Set, [.self], TFreshEdit.Selection, eax ; stdcall StrDel, eax ; ; mov eax, chgfNeedRefresh ;.end_paste: ; return ; ; ;.save: ; stdcall OnSaveFile, [.self], 0 ; xor eax, eax ; return ; ;.length_list: ; xor eax, eax ; return ; ;.clipright: ; stdcall Get, esi, TFreshEdit.CurrentLine ; jc .finish ; stdcall StrClipSpacesR, [eax+TEditorLine.Data] ; mov eax, chgfNeedRefresh ; return ; ;.test_something: ; mov eax, chgfNeedRefresh ; return ; ; ;.toggle_breakpoint: ; cmp [esi+TFreshEdit._fReadOnly], froReadWrite ; jne .finish ; ; stdcall Get, esi, TFreshEdit.CurrentLine ; jc .finish ; ; xor [eax+TEditorLine.flags], lfBreakpoint ; mov eax, chgfNeedRefresh or chgfNoClearSelection ; return ; ; ;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . endp proc PrintWrappedLine, .hString, .width begin pushad stdcall StrPtr, [.hString] mov ebx, eax stdcall __CreateSublines, ebx, 0, [.width] mov edi, eax push eax xor esi, esi mov ecx, [edi] add edi, 4 .loop1: mov eax, [edi] sub eax, esi lea edx, [esi+ebx] stdcall FileWrite, [STDOUT], edx, eax stdcall FileWrite, [STDOUT], cCRLF, 2 mov esi, [edi] add edi, 4 dec ecx jnz .loop1 lea edx, [esi+ebx] stdcall StrLen, edx stdcall FileWrite, [STDOUT], edx, eax stdcall FileWrite, [STDOUT], cCRLF, 2 stdcall FileWrite, [STDOUT], cCRLF, 2 stdcall FreeMem ; from the stack popad return endp cTestString text 'This is test string that has to be word wrapped on some position as a test ', \ 'for the word wrap formatting procedure. This procedure creates an array ', \ 'with offsets to the begining of the sublines where the string has to be wrap.' cTestString2 text 'This_is_test_string_that_has_to_be_word_wrapped_on_some_position_as_a_test_', \ 'for_the_word_wrap_formatting_procedure._This_procedure_creates_an_array_', \ 'with_offsets_to_the_begining_of_the_sublines_where_the_string_has_to_be_wrap.' cCRLF text 13, 10 @AllImportSection @AllDataSection |
Added freshlib/FreshEdit/FreshEditTest.fpr.
cannot compute difference between binary files
Changes to freshlib/FreshEdit/FreshEditThemes.asm.
︙ | ︙ | |||
18 19 20 21 22 23 24 | struct TShortcut .key dd ? ; if .key is <> 0 the scancode and .kbdStatus are not used. .scancode dd ? .kbdStatus dd ? .maskStatus dd ? ; what bits from the kbdStatus to be compared ends | < > > > > > > > > > > > > > > > > > > | | < < | | | | | | | | > > > > > | | | | | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | struct TShortcut .key dd ? ; if .key is <> 0 the scancode and .kbdStatus are not used. .scancode dd ? .kbdStatus dd ? .maskStatus dd ? ; what bits from the kbdStatus to be compared ends macro Shortcut .key, .scancode, .kbdstatus, .maskstatus { dd .key dd .scancode dd .kbdstatus dd .maskstatus } ffBold = 1 ffItalic = 2 ffUnderlined = 4 ffStrikeOut = 8 struct TThemeFont .ptrFace dd ? ; pointer to the font face string. .size db ? ; in pixels height. .flags db ? ; flag - normal, bold, italic, etc. .family db ? ; fixed, proportional .reserved db ? .handle dd ? ; created on the first use. ends eoAutoIndents = 1 eoSaveWithTabs = 2 eoVerticalCaret = 4 eoStripedBackground = 8 eoLeftMargin = 16 eoLineNumbers = 32 struct TFETheme ; colors .clAfterBackground dd ? ; the background after the end of the text. .clBackground dd ? ; background color of the editor field. .clAltBack dd ? ; althernative background (when eoStripedBackground is true) .clSelBack dd ? ; background color for selections .clSelAltBack dd ? ; althernative background for selections (when eoStripedBackground is true) .clLeftMargin dd ? ; the color of the left margin field. .clLeftMarginBorder dd ? ; left margin border color. .clLeftMarginText dd ? .clLeftMarginTree dd ? .clBookmarkBack dd ? ; background of the left margin when the bookmark is set. .clWrapColumn dd ? ; color of the line that marks word wrap column. .clSyntax rd 32 ; 32 syntax colors - more than needed, but... .FontsSyntax TThemeFont ; 32 syntax fonts - more than needed, but... (640K are enough for everyone) rb 31*sizeof.TThemeFont ; options and behavior .Options dd ? ; flags eoXXXXX (see above). .MouseWheel dd ? ; the count of the pixels, one mouse wheel event scrolls. .WrapPos dd ? ; word wrap position for the lines that have lfWordWrap flag set. .UndoLevels dd ? ; how many levels of undo/redo to be remembered. ; keyboard shortcuts: ; navigation .shortcuts: .keyUp TShortcut .keyDown TShortcut |
︙ | ︙ | |||
94 95 96 97 98 99 100 101 102 103 104 | ; Control .ToggleInsMode TShortcut .ToggleSelMode TShortcut .shortcuts.count = ($ - .shortcuts)/sizeof.TShortcut ends iglobal if used FreshEditThemeKeys FreshEditThemeKeys: ; colors | > > > > > > > > > > > > > > > > > > | | < < | | | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 | ; Control .ToggleInsMode TShortcut .ToggleSelMode TShortcut .shortcuts.count = ($ - .shortcuts)/sizeof.TShortcut ends struct TCfgInfo .key dd ? .offset dw ? .type dw ? ends macro cfginfo offset, key, type { dd key dw offset dw type } cfgInteger = 0 cfgFont = 1 cfgShortcut = 2 iglobal if used FreshEditThemeKeys FreshEditThemeKeys: ; colors cfginfo TFETheme.clAfterBackground, 'cAFB', cfgInteger cfginfo TFETheme.clBackground, 'cBKG', cfgInteger cfginfo TFETheme.clAltBack, 'cABK', cfgInteger cfginfo TFETheme.clSelBack, 'cSBK', cfgInteger cfginfo TFETheme.clSelAltBack, 'cSAB', cfgInteger cfginfo TFETheme.clLeftMargin, 'cMrg', cfgInteger cfginfo TFETheme.clLeftMarginBorder, 'cMBr', cfgInteger cfginfo TFETheme.clLeftMarginText, 'cMTx', cfgInteger cfginfo TFETheme.clLeftMarginTree, 'cMTr', cfgInteger cfginfo TFETheme.clBookmarkBack, 'cBMB', cfgInteger cfginfo TFETheme.clWrapColumn, 'cWrC', cfgInteger cfginfo TFETheme.clSyntax, 'cS00', cfgInteger cfginfo TFETheme.clSyntax+4, 'cS01', cfgInteger cfginfo TFETheme.clSyntax+8, 'cS02', cfgInteger cfginfo TFETheme.clSyntax+12, 'cS03', cfgInteger cfginfo TFETheme.clSyntax+16, 'cS04', cfgInteger cfginfo TFETheme.clSyntax+20, 'cS05', cfgInteger cfginfo TFETheme.clSyntax+24, 'cS06', cfgInteger cfginfo TFETheme.clSyntax+28, 'cS07', cfgInteger cfginfo TFETheme.clSyntax+32, 'cS08', cfgInteger cfginfo TFETheme.clSyntax+36, 'cS09', cfgInteger cfginfo TFETheme.clSyntax+40, 'cS10', cfgInteger cfginfo TFETheme.clSyntax+44, 'cS11', cfgInteger cfginfo TFETheme.clSyntax+48, 'cS12', cfgInteger cfginfo TFETheme.clSyntax+52, 'cS13', cfgInteger cfginfo TFETheme.clSyntax+56, 'cS14', cfgInteger cfginfo TFETheme.clSyntax+60, 'cS15', cfgInteger cfginfo TFETheme.clSyntax+64, 'cS16', cfgInteger cfginfo TFETheme.clSyntax+68, 'cS17', cfgInteger cfginfo TFETheme.clSyntax+72, 'cS18', cfgInteger cfginfo TFETheme.clSyntax+76, 'cS19', cfgInteger cfginfo TFETheme.clSyntax+80, 'cS20', cfgInteger cfginfo TFETheme.clSyntax+84, 'cS21', cfgInteger cfginfo TFETheme.clSyntax+88, 'cS22', cfgInteger cfginfo TFETheme.clSyntax+92, 'cS23', cfgInteger cfginfo TFETheme.clSyntax+96, 'cS24', cfgInteger cfginfo TFETheme.clSyntax+100, 'cS25', cfgInteger cfginfo TFETheme.clSyntax+104, 'cS26', cfgInteger cfginfo TFETheme.clSyntax+108, 'cS27', cfgInteger cfginfo TFETheme.clSyntax+112, 'cS28', cfgInteger cfginfo TFETheme.clSyntax+116, 'cS29', cfgInteger cfginfo TFETheme.clSyntax+120, 'cS30', cfgInteger cfginfo TFETheme.clSyntax+124, 'cS31', cfgInteger cfginfo TFETheme.FontsSyntax+0*sizeof.TThemeFont, 'fS00', cfgFont cfginfo TFETheme.FontsSyntax+1*sizeof.TThemeFont, 'fS01', cfgFont cfginfo TFETheme.FontsSyntax+2*sizeof.TThemeFont, 'fS02', cfgFont cfginfo TFETheme.FontsSyntax+3*sizeof.TThemeFont, 'fS03', cfgFont cfginfo TFETheme.FontsSyntax+4*sizeof.TThemeFont, 'fS04', cfgFont cfginfo TFETheme.FontsSyntax+5*sizeof.TThemeFont, 'fS05', cfgFont cfginfo TFETheme.FontsSyntax+6*sizeof.TThemeFont, 'fS06', cfgFont cfginfo TFETheme.FontsSyntax+7*sizeof.TThemeFont, 'fS07', cfgFont cfginfo TFETheme.FontsSyntax+8*sizeof.TThemeFont, 'fS08', cfgFont cfginfo TFETheme.FontsSyntax+9*sizeof.TThemeFont, 'fS09', cfgFont cfginfo TFETheme.FontsSyntax+10*sizeof.TThemeFont, 'fS10', cfgFont cfginfo TFETheme.FontsSyntax+11*sizeof.TThemeFont, 'fS11', cfgFont cfginfo TFETheme.FontsSyntax+12*sizeof.TThemeFont, 'fS12', cfgFont cfginfo TFETheme.FontsSyntax+13*sizeof.TThemeFont, 'fS13', cfgFont cfginfo TFETheme.FontsSyntax+14*sizeof.TThemeFont, 'fS14', cfgFont cfginfo TFETheme.FontsSyntax+15*sizeof.TThemeFont, 'fS15', cfgFont cfginfo TFETheme.FontsSyntax+16*sizeof.TThemeFont, 'fS16', cfgFont cfginfo TFETheme.FontsSyntax+17*sizeof.TThemeFont, 'fS17', cfgFont cfginfo TFETheme.FontsSyntax+18*sizeof.TThemeFont, 'fS18', cfgFont cfginfo TFETheme.FontsSyntax+19*sizeof.TThemeFont, 'fS19', cfgFont cfginfo TFETheme.FontsSyntax+20*sizeof.TThemeFont, 'fS20', cfgFont cfginfo TFETheme.FontsSyntax+21*sizeof.TThemeFont, 'fS21', cfgFont cfginfo TFETheme.FontsSyntax+22*sizeof.TThemeFont, 'fS22', cfgFont cfginfo TFETheme.FontsSyntax+23*sizeof.TThemeFont, 'fS23', cfgFont cfginfo TFETheme.FontsSyntax+24*sizeof.TThemeFont, 'fS24', cfgFont cfginfo TFETheme.FontsSyntax+25*sizeof.TThemeFont, 'fS25', cfgFont cfginfo TFETheme.FontsSyntax+26*sizeof.TThemeFont, 'fS26', cfgFont cfginfo TFETheme.FontsSyntax+27*sizeof.TThemeFont, 'fS27', cfgFont cfginfo TFETheme.FontsSyntax+28*sizeof.TThemeFont, 'fS28', cfgFont cfginfo TFETheme.FontsSyntax+29*sizeof.TThemeFont, 'fS29', cfgFont cfginfo TFETheme.FontsSyntax+30*sizeof.TThemeFont, 'fS30', cfgFont cfginfo TFETheme.FontsSyntax+31*sizeof.TThemeFont, 'fS31', cfgFont cfginfo TFETheme.Options, 'Opts', cfgInteger cfginfo TFETheme.MouseWheel, 'nWhl', cfgInteger cfginfo TFETheme.WrapPos, 'WrPs', cfgInteger cfginfo TFETheme.UndoLevels, 'UdLv', cfgInteger ; keyboard shortcuts: ; navigation cfginfo TFETheme.keyUp, 'kkUp', cfgShortcut cfginfo TFETheme.keyDown, 'kkDn', cfgShortcut cfginfo TFETheme.keyLeft, 'kLft', cfgShortcut cfginfo TFETheme.keyRight, 'kRgt', cfgShortcut cfginfo TFETheme.keyPgUp, 'kPUp', cfgShortcut cfginfo TFETheme.keyPgDn, 'kPDn', cfgShortcut cfginfo TFETheme.keyHome, 'kHom', cfgShortcut cfginfo TFETheme.keyEnd, 'kEnd', cfgShortcut cfginfo TFETheme.keyPageBegin, 'kPgB', cfgShortcut cfginfo TFETheme.keyPageEnd, 'kPgE', cfgShortcut cfginfo TFETheme.keyTextBegin, 'kTxB', cfgShortcut cfginfo TFETheme.keyTextEnd, 'kTxE', cfgShortcut cfginfo TFETheme.keyWordLeft, 'kWdL', cfgShortcut cfginfo TFETheme.keyWordRight, 'kWdR', cfgShortcut ; Edit cfginfo TFETheme.Delete, 'kDel', cfgShortcut cfginfo TFETheme.DelLine, 'kDLn', cfgShortcut cfginfo TFETheme.Backspace, 'kBkS', cfgShortcut ; Formating cfginfo TFETheme.ToggleWordWrap, 'kWWr', cfgShortcut cfginfo TFETheme.ToggleBookmark, 'kBkm', cfgShortcut cfginfo TFETheme.ToggleInsMode, 'kIMd', cfgShortcut cfginfo TFETheme.ToggleSelMode, 'kSMd', cfgShortcut dd 0 end if endg iglobal |
︙ | ︙ | |||
196 197 198 199 200 201 202 203 204 205 | proc TFETheme.SetDefaultThemeWindows, .ptrTheme begin push ebx ecx esi edi mov ebx, [.ptrTheme] ; colors mov [ebx+TFETheme.clBackground], $ffffff mov [ebx+TFETheme.clAltBack], $e8e8e8 | > > < < < | | > > > | | > < < < | | > > > | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 | proc TFETheme.SetDefaultThemeWindows, .ptrTheme begin push ebx ecx esi edi mov ebx, [.ptrTheme] ; colors mov [ebx+TFETheme.clAfterBackground], $d0d0d0 mov [ebx+TFETheme.clBackground], $ffffff mov [ebx+TFETheme.clAltBack], $e8e8e8 mov [ebx+TFETheme.clSelBack], $000080 mov [ebx+TFETheme.clSelAltBack], $000090 mov [ebx+TFETheme.clLeftMargin], $d0d0d8 mov [ebx+TFETheme.clLeftMarginBorder], $606060 mov [ebx+TFETheme.clLeftMarginText], $000000 mov [ebx+TFETheme.clLeftMarginTree], $9000ff mov [ebx+TFETheme.clBookmarkBack], $ffd000 mov [ebx+TFETheme.clSyntax], $000000 mov [ebx+TFETheme.clSyntax+4], $808080 mov [ebx+TFETheme.clWrapColumn], $c0c0ff mov [ebx+TFETheme.Options], eoLineNumbers or eoLeftMargin mov [ebx+TFETheme.WrapPos], 70 mov [ebx+TFETheme.MouseWheel], 16 mov esi, TFETheme.DefaultShortcuts lea edi, [ebx+TFETheme.shortcuts] mov ecx, TFETheme.DefaultShortcuts.size rep movsd pop edi esi ecx ebx return endp proc TFETheme.SetDefaultThemeClassic, .ptrTheme begin push ebx ecx esi edi mov ebx, [.ptrTheme] ; colors mov [ebx+TFETheme.clAfterBackground], $000040 mov [ebx+TFETheme.clBackground], $000080 mov [ebx+TFETheme.clAltBack], $000090 mov [ebx+TFETheme.clSelBack], $c0c0c0 mov [ebx+TFETheme.clSelAltBack], $a0a0a0 mov [ebx+TFETheme.clLeftMargin], $c0c0c0 mov [ebx+TFETheme.clLeftMarginBorder], $ffffff mov [ebx+TFETheme.clLeftMarginText], $000000 mov [ebx+TFETheme.clLeftMarginTree], $ff0000 mov [ebx+TFETheme.clBookmarkBack], $ffd000 mov [ebx+TFETheme.clSyntax], $ffffff mov [ebx+TFETheme.clSyntax+4], $a0a000 mov [ebx+TFETheme.clWrapColumn], $0000ff mov [ebx+TFETheme.Options], eoLineNumbers or eoLeftMargin mov [ebx+TFETheme.WrapPos], 70 mov [ebx+TFETheme.MouseWheel], 16 mov esi, TFETheme.DefaultShortcuts lea edi, [ebx+TFETheme.shortcuts] mov ecx, TFETheme.DefaultShortcuts.size rep movsd pop edi esi ecx ebx return endp proc SaveTheme, .ptrConfigFile, .ptrTheme, .ptrPath .ptrDB dd ? .newpath dd ? begin pushad xor esi, esi mov ebx, 'THTM' stdcall LoadBinaryFile, [.ptrConfigFile] jc .file_ok mov esi, eax mov ebx, -1 .file_ok: stdcall LoadConfigDB, esi, ebx mov [.ptrDB], eax test esi, esi jz @f stdcall FreeMem, esi @@: mov esi, [.ptrTheme] mov ebx, FreshEditThemeKeys .loop: cmp [ebx+TCfgInfo.key], 0 je .end_of_keys cmp [ebx+TCfgInfo.type], cfgFont je .save_font cmp [ebx+TCfgInfo.type], cfgShortcut je .save_shortcut ; save integer lea eax, [.ptrDB] movzx ecx, [ebx+TCfgInfo.offset] stdcall SetConfigParam, eax, [.ptrPath], [ebx+TCfgInfo.key], cdtInteger, [esi+ecx], 4 .next: add ebx, sizeof.TCfgInfo jmp .loop .save_font: lea eax, [.ptrDB] movzx ecx, [ebx+TCfgInfo.offset] stdcall SetConfigParam, eax, [.ptrPath], [ebx+TCfgInfo.key], cdtConfig, eax, eax stdcall __CreateNewPath, [.ptrPath], [ebx+TCfgInfo.key] mov [.newpath], eax lea eax, [.ptrDB] mov edx, [esi+ecx+TThemeFont.ptrFace] test edx, edx jnz @f mov edx, cDefaultEditorFont @@: stdcall SetConfigParam, eax, [.newpath], 'face', cdtString, edx, 0 movzx edx, [esi+ecx+TThemeFont.size] stdcall SetConfigParam, eax, [.newpath], 'size', cdtInteger, edx, 0 movzx edx, [esi+ecx+TThemeFont.flags] stdcall SetConfigParam, eax, [.newpath], 'flgs', cdtInteger, edx, 0 movzx edx, [esi+ecx+TThemeFont.family] stdcall SetConfigParam, eax, [.newpath], 'fmly', cdtInteger, edx, 0 stdcall FreeMem, [.newpath] jmp .next .save_shortcut: lea eax, [.ptrDB] movzx ecx, [ebx+TCfgInfo.offset] stdcall SetConfigParam, eax, [.ptrPath], [ebx+TCfgInfo.key], cdtConfig, eax, eax stdcall __CreateNewPath, [.ptrPath], [ebx+TCfgInfo.key] mov edx, eax lea eax, [.ptrDB] stdcall SetConfigParam, eax, edx, 'ckey', cdtInteger, [esi+ecx+TShortcut.key], 0 stdcall SetConfigParam, eax, edx, 'scan', cdtInteger, [esi+ecx+TShortcut.scancode], 0 stdcall SetConfigParam, eax, edx, 'stat', cdtInteger, [esi+ecx+TShortcut.kbdStatus], 0 stdcall SetConfigParam, eax, edx, 'mask', cdtInteger, [esi+ecx+TShortcut.maskStatus], 0 stdcall FreeMem, edx jmp .next .end_of_keys: mov eax, [.ptrDB] stdcall SaveConfigFile, [.ptrDB], [eax+TArray.lparam] mov esi, eax mov ecx, [esi+TArray.count] lea eax, [esi+TArray.array] shl ecx, 2 stdcall SaveBinaryFile, [.ptrConfigFile], eax, ecx stdcall FreeMem, esi stdcall FreeConfigDB, [.ptrDB] popad return endp proc __CreateNewPath, .ptrPath, .newdir begin pushad mov esi, [.ptrPath] xor ecx, ecx test esi, esi jz .end_found .loop: cmp dword [esi], 0 je .end_found add esi, 4 jmp .loop .end_found: sub esi, [.ptrPath] mov ecx, esi lea eax, [ecx+8] stdcall GetMem, eax mov edi, eax mov ebx, eax shr ecx, 2 mov esi, [.ptrPath] test esi, esi jz .root_ok rep movsd .root_ok: mov eax, [.newdir] stosd xor eax, eax stosd mov [esp+4*regEAX], ebx popad return endp endmodule |
Added freshlib/FreshEdit/LineProcessors.asm.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | ; the fields of this structure point to a set of procedures that ; handles one type of editor line. It can be text line or other type of line. ; The editor itself will call this procedures when some processing of the line is needed. ; some of these procedures can be NULL when not needed. struc TLineProcessor [arg] { common local offs, start offs = 0 start = $ .__Create dd ? ; creates line from given text. .__Free dd ? ; frees all allocated in the file resources. .Draw dd ? ; draws the line on the shadow buffer. .KeyEvent dd ? ; process keyboard events when the caret is in the line. .MouseEvent dd ? ; process mouse events on the line. .ToText dd ? ; Converts the line to cannonical type. The editing is disabled if not possible. .FromText dd ? ; Converts the line to internal representation suitable for editing. .Format dd ? ; prepares the row for painting and computes needed data structures and indexes. .Initialize dd ? ; should be called once in order to initialize this line type. .Finalize dd ? ; should be called once in order to finalize this line type. forward if ~arg eq store dword arg at start+offs offs = offs + 4 end if } virtual at 0 TLineProcessor TLineProcessor end virtual include "TextLineProcessor.asm" |
Added freshlib/FreshEdit/TextLineProcessor.asm.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 | lprTextLine TLineProcessor textLineCreate, \ textLineFree, \ textLineDraw, \ textLineKeyEvent, \ textLineMouseEvent, \ textLineToText, \ textLineFromText, \ textLineFormat, \ textLineInit, \ textLineFinish ; Rendering character information for .pRenderInfo array. struct TCharInfo .x dd ? ; x coordinate relative to the upper left edge of the line. .y dd ? ; y coordinate relative to the upper left edge of the line. .w dw ? ; width of the character. .h dw ? ; height of the character. .b dw ? ; base offset of the character. .c db ? ; color of the character as an index in the syntax colors. .f db ? ; font of the character as an index in the syntax fonts. ends cDefaultEditorFont text 'Fixedsys Excelsior 3.01' ;cDefaultEditorFont text 'Droid sans mono' proc textLineCreate, .pLine, .hString begin push eax esi mov esi, [.pLine] stdcall StrDup, [.hString] mov [esi+TEditorLine.pData], eax pop esi eax return endp proc textLineFree, .pLine begin push eax mov eax, [.pLine] stdcall StrDel, [eax+TEditorLine.pData] mov [eax+TEditorLine.pData], 0 pop eax return endp proc textLineDraw, .context, .pEditor, .pLine, .x, .y begin pushad add [.y], 12 ; font base line; mov esi, [.pLine] test [esi+TEditorLine.flags], lfFormatted jnz .so_draw_it stdcall textLineFormat, [.context], [.pEditor], esi .so_draw_it: stdcall StrLen, [esi+TEditorLine.pData] mov ecx, eax stdcall StrPtr, [esi+TEditorLine.pData] mov edi, eax mov ebx, [esi+TEditorLine.pRenderInfo] ; pointer to TArray of TCharInfo lea ebx, [ebx+TArray.array] .draw_loop: stdcall DecodeUtf8, [edi] add edi, edx test eax, eax jz .end_of_string movzx eax, [ebx+TCharInfo.c] movzx ecx, [ebx+TCharInfo.f] mov eax, [FreshEditTheme.clSyntax+4*eax] mov ecx, [FreshEditTheme.FontsSyntax+4*ecx] push eax ecx ; color and font mov eax, [.x] mov ecx, [.y] add eax, [ebx+TCharInfo.x] add ecx, [ebx+TCharInfo.y] stdcall DrawString, [.context], edi, edx, eax, ecx ; remaining from the stack. add ebx, sizeof.TCharInfo jmp .draw_loop .end_of_string: popad return endp proc textLineKeyEvent, .pLine, .pEvent begin return endp proc textLineMouseEvent,.pLine, .pEvent begin return endp proc textLineToText, .pLine begin return endp proc textLineFromText, .pLine begin return endp proc textLineFormat, .context, .pEditor, .pLine .x dd ? ; current X coordinate. .y dd ? ; current Y coordinate. .maxh dd ? ; maximal height of the subline. .wrap dd ? begin pushad mov ebx, [.pLine] cmp [ebx+TEditorLine.pRenderInfo], 0 je .info_ok stdcall FreeMem, [ebx+TEditorLine.pRenderInfo] .info_ok: stdcall CreateArray, sizeof.TCharInfo mov [ebx+TEditorLine.pRenderInfo], eax stdcall StrLenUtf8, [ebx+TEditorLine.pData] mov ecx, eax stdcall AddArrayItems, [ebx+TEditorLine.pRenderInfo], ecx mov [ebx+TEditorLine.pRenderInfo], edx mov eax, [.pEditor] stdcall [eax+TFreshEdit._procSyntax], [ebx+TEditorLine.pData], edx, [ebx+TEditorLine.syn_context] mov [ebx+TEditorLine.syn_context], eax stdcall StrPtr, [ebx+TEditorLine.pData] mov esi, eax mov edi, [ebx+TEditorLine.pRenderInfo] lea edi, [edi+TArray.array] .render_loop: stdcall DecodeUtf8, [esi] add esi, edx test eax, eax jz .end_of_string mov eax, [.x] mov edx, [.y] mov [edi+TCharInfo.x], eax mov [edi+TCharInfo.y], edx movzx eax, [edi+TCharInfo.f] stdcall GetTextBounds, [.context], esi, edx, [FreshEditTheme.FontsSyntax+4*eax] mov [edi+TCharInfo.w], ax mov [edi+TCharInfo.h], dx cmp [.maxh], edx jae @f mov [.maxh], edx @@: add eax, [.x] test [ebx+TEditorLine.flags], lfWordWrap jz .wrap_ok cmp eax, [.wrap] jb .wrap_ok mov eax, [.maxh] add [.y], eax xor eax, eax mov [.maxh], eax .wrap_ok: mov [.x], eax jmp .render_loop .end_of_string: popad return endp proc textLineInit begin ; Main Font settings. ; stdcall FontCreate, cDefaultEditorFont, 0, 0, ffMonospaced ; mov [hTextFont], eax return endp proc textLineFinish begin ; stdcall FontDestroy, [hTextFont] ; mov [hTextFont], 0 return endp |
Changes to freshlib/FreshEdit/fasm_syntax.asm.
︙ | ︙ | |||
14 15 16 17 18 19 20 | module "FASM syntax highlighter" ttText = 0 ttRem = 1 ttStr = 2 ttNum = 3 ttChar = 4 | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | module "FASM syntax highlighter" ttText = 0 ttRem = 1 ttStr = 2 ttNum = 3 ttChar = 4 ttNewLine = $80000000 iglobal var SynTheme = fasm_colors_windows ; Windows theme. |
︙ | ︙ | |||
67 68 69 70 71 72 73 74 75 76 77 78 79 80 | ; Returns: ; eax - output context of the highligher. ; proc SyntaxFASM, .hString, .pAttr, .SynContext .Quo rb 4 .start dd ? begin mov edi, [.pAttr] mov ebx, [SynTheme] stdcall StrPtr, [.hString] mov esi, eax mov [.start], eax | > > > > > > > | 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | ; Returns: ; eax - output context of the highligher. ; proc SyntaxFASM, .hString, .pAttr, .SynContext .Quo rb 4 .start dd ? begin pushad test [.SynContext], ttNewLine jz @f mov [.SynContext], ttText @@: and dword [.SynContext], ttNewLine-1 mov edi, [.pAttr] mov ebx, [SynTheme] stdcall StrPtr, [.hString] mov esi, eax mov [.start], eax |
︙ | ︙ | |||
158 159 160 161 162 163 164 | .next: add edi, sizeof.TCharAttr inc esi stdcall ScanForwardUtf8 jmp .loop .end_of_line: | > | > | 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | .next: add edi, sizeof.TCharAttr inc esi stdcall ScanForwardUtf8 jmp .loop .end_of_line: popad ; mov eax, ttText mov eax, [.SynContext] return endp .CharInSymbols: push edi ecx |
︙ | ︙ |
Deleted freshlib/FreshEdit/forth_link.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/FreshEdit/keyboard.forth.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Added freshlib/FreshEdit/notes.txt.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | FreshEdit target features: #. Unicode text encoding - UTF-8 based. #. Very big files - only memory limited - without decreasing the performance of the editor. #. Display of line numbers. #. Temporal highlighting part of the text with any color (until the user press any key) It is for pointing errors. #. Read-only files (works like a browser) and read-only lines (for example, autogenerated by the IDE lines). #. Bookmarks, saveable to the file. #. Word wrap for some of the lines (user selectable and saveable to the file) #. Additional information attached to the text lines - for example debug information. #. Multilevel code folding - user selectable and automatic. #. Two modes of selections - char and block selections and cut/copy/paste operations. #. Context depending syntax highlighting. (for syntaxes that are not line based - for example for HTML, C++, etc.) #. Unlimited UNDO/REDO operations possible. Coordinate systems: 1. [A] LineNumber, CharNumber 1.1. LineNumber, ByteNumber Needed for text editing purposes - insert text, delete text, selections replace, etc. 2. [B] LineNumber, SublineNumber, X coordinate Needed for text display purposes. 3. [C] Y coordinate, X coordinate Needed for mouse operations - mouse clicks to other types of coordinates. |
Added freshlib/FreshEdit/unicode_test.txt.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | ;This is example text, aimed simply to show the features of the FreshEdit control. ;w:F#; ;1. Word-wrap feature. It works only for the lines formated with word-wrap format. You can set/remove word-wrap format by Ctrl+W key.;w:F#; ;2. FreshEdit can save the format into the source file. The formating is transparent for FASM compiler, so you can compile the files without removing formating.;w:F#; ;3. FreshEdit uses UTF-8 encoding - see following samples: ;Russian: Я могу есть стекло, оно мне не вредит. ;Yoruba: Mo lè je̩ dígí, kò ní pa mí lára. ;Greek: Μπορώ να φάω σπασμένα γυαλιά χωρίς να πάθω τίποτα. ;Québécois: J'peux manger d'la vitre, ça m'fa pas mal. ;Ukrainian: Я можу їсти скло, і воно мені не зашкодить. ;English: I can eat glass and it doesn't hurt me. ;5. The bookmarks are saved with the text as well. Use Ctrl+B to set/remove a bookmark.;bw:F#; ;6. Also FreshEdit, has code folding feature. proc SomeTestProcedure begin nop mov eax, 1234 return endp ;7. also, there are line numbers and breakpoint icons on the left margin of the editor. You can set/remove breakpoint with F2 key.;w:F#; nop nop int3 ; 8. Color themes: Click on "T" button to switch the color theme for the editor.;w:F#; ; 9. Zebra background - if you like such eye-candy things. Click on "Z" button in order to switch it on/off.;w:F#; proc AnotherTestProcedure begin xor eax, eax locals ; We have of course several folding levels. .x dd ? .y dd ? .rect TBounds endl mov ecx, 'ABCD' return endp ; 10. Click "#" to turn on/off the line numbers. ; 11. Ctrl-T will switch ON/OFF the whole left margin field. ; 12. Alt+Ins will switch the type of selection - line, char and block are supported for now.;w:F#; |
Deleted freshlib/License.txt.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/TestFreshLib.fpr.
cannot compute difference between binary files
Deleted freshlib/_doc/FreshLibRefMan.odt.
cannot compute difference between binary files
Deleted freshlib/_doc/Fresh_IDE.wiki.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_doc/Fresh_and_Linux.wiki.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_doc/GUI.wiki.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_doc/compiler.wiki.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_doc/data.wiki.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_doc/equates.wiki.
|
| < < < < < |
Deleted freshlib/_doc/freshlib.css.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_doc/freshlib_reference.wiki.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_doc/imports.wiki.
|
| < < < < < < |
Deleted freshlib/_doc/index.wiki.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_doc/macros.wiki.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_doc/porting.wiki.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_doc/simpledebug.wiki.
|
| < < < < < < |
Deleted freshlib/_doc/starting.wiki.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_doc/system.wiki.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_pending/FBasDx01/FASMBas.txt.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_pending/FBasDx01/fbasic.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_pending/FBasDx01/test.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_pending/lzss/readme.txt.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_pending/lzss/source/bits.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_pending/lzss/source/bits.inc.
|
| < < < < < |
Deleted freshlib/_pending/lzss/source/cmdln.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_pending/lzss/source/lzss.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_pending/lzss/source/lzss.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_pending/lzss/source/lzsspack.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_pending/lzss/source/lzsspack.fpr.
cannot compute difference between binary files
Deleted freshlib/_pending/lzss/source/lzssstat.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_pending/lzss/source/lzssstat.inc.
Deleted freshlib/_pending/profiling/data.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_pending/tutorial/files.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_pending/tutorial/gui.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_pending/tutorial/hello.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/Common/header.inc.
|
| < < < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/Linux/TButtonLinux.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/Linux/TFormLinux.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/Linux/_common.asm.
Deleted freshlib/_trash/SurplusSources/Linux/allutils.asm.
|
| < |
Deleted freshlib/_trash/SurplusSources/OldLibs/lists.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/OldLibs/lists.inc.
|
| < < < < < < < |
Deleted freshlib/_trash/SurplusSources/OldLibs/qsort.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/OldLibs/strlib.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/OldLibs/strlib.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/Win32/TFormWin32.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/Win32/_chainmsg.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/Win32/_winprops.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/Win32/allutils.asm.
|
| < < |
Deleted freshlib/_trash/SurplusSources/command_tables.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/drafts/HashList.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/drafts/StrLibUltra.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/drafts/StringHeap.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/drafts/strlib.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/drafts/strlibnew.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/drafts/tests/MainForm.frm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/drafts/tests/README.TXT.
|
| < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/drafts/tests/TinyGUI.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/drafts/tests/TinyGUI.fpr.
cannot compute difference between binary files
Deleted freshlib/_trash/SurplusSources/macroses.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/SurplusSources/qsort.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/_trash/readme.txt.
|
| < < < < < < < < < < |
Deleted freshlib/compiler/Linux/executable.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/compiler/Win32/executable.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/compiler/executable.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/data/Linux/utf8.asm.
Deleted freshlib/data/ToBeRemoved/StrLibOS.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/data/Win32/utf8.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/data/all.asm.
|
| < < < < < |
Deleted freshlib/data/arrays.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/data/markdown.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/data/memstream.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/data/strlib.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/data/uConfig.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/Linux/XftCompat.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/Linux/Xrender.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/Linux/_XLib.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/Linux/_geometry.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/Linux/_linux.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/Linux/_xft.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/Linux/allequates.inc.
|
| < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/Win32/_COMCTL32.INC.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/Win32/_COMDLG32.INC.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/Win32/_GDI32.INC.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/Win32/_HTMLHELP.INC.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/Win32/_KERNEL32.INC.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/Win32/_ODBC32.INC.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/Win32/_RichEdit32.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/Win32/_SHELL32.INC.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/Win32/_USER32.INC.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/Win32/_WSOCK32.INC.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/Win32/_exceptions.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/Win32/allequates.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/_sqlite3.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/_zlib1.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/equates/allequates.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/freshlib.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/freshlib.inc.
|
| < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/Linux/backbuffer.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/Linux/context.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/Linux/draw.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/Linux/fonts.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/Linux/images.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/Linux/text.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/Win32/backbuffer.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/Win32/context.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/Win32/draw.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/Win32/fonts.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/Win32/images.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/Win32/text.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/all.asm.
|
| < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/backbuffer.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/context.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/draw.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/fonts.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/giflib.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/images.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/graphics/text.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/Linux/Main.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/Linux/TApplication.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/Linux/keycodes.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/Linux/mouse.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/Linux/windows.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/Main.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/ObjTemplates.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/TAction.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/TApplication.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/TButton.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/TEdit.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/TForm.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/TImageLabel.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/TLabel.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/TMenu.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/TMenuItem.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/TObject.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/TProgressbar.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/TScrollWindow.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/TTreeView.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/TWindow.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/ThemeGUI.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/Win32/Main.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/Win32/TApplication.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/Win32/keycodes.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/Win32/mouse.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/Win32/windows.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/all.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/dialogs.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/images/error.gif.
cannot compute difference between binary files
Deleted freshlib/gui/images/icon_mask.gif.
cannot compute difference between binary files
Deleted freshlib/gui/images/information.gif.
cannot compute difference between binary files
Deleted freshlib/gui/images/question.gif.
cannot compute difference between binary files
Deleted freshlib/gui/images/theme_rhomb/Icons.odg.
cannot compute difference between binary files
Deleted freshlib/gui/images/theme_rhomb/myown/error.gif.
cannot compute difference between binary files
Deleted freshlib/gui/images/theme_rhomb/myown/information.gif.
cannot compute difference between binary files
Deleted freshlib/gui/images/theme_rhomb/myown/mask.gif.
cannot compute difference between binary files
Deleted freshlib/gui/images/theme_rhomb/myown/question.gif.
cannot compute difference between binary files
Deleted freshlib/gui/images/theme_rhomb/myown/warning.gif.
cannot compute difference between binary files
Deleted freshlib/gui/images/warning.gif.
cannot compute difference between binary files
Deleted freshlib/gui/mouse.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/objects.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/progutils.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/sysevents.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/gui/textcaret.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/Linux/_libX11.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/Linux/_libXft.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/Linux/_libc.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/Linux/_pthreads.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/Linux/allimports.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/Win32/allimports.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/Win32/api/advapi32.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/Win32/api/comctl32.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/Win32/api/comdlg32.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/Win32/api/crtdll.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/Win32/api/gdi32.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/Win32/api/kernel32.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/Win32/api/msimg32.inc.
|
| < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/Win32/api/odbc32.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/Win32/api/ole32.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/Win32/api/shell32.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/Win32/api/sqlite3.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/Win32/api/user32.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/Win32/api/wsock32.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/imports/allimports.asm.
|
| < < < < < < < < < < < < < < < |
Deleted freshlib/macros/Linux/_elf.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/macros/Linux/_import.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/macros/Linux/_linproc.inc.
|
| < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/macros/Linux/allmacros.inc.
|
| < < < < < < < < < < < < < < < < |
Deleted freshlib/macros/Win32/_exceptions.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/macros/Win32/_export.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/macros/Win32/_import.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/macros/Win32/_winproc.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/macros/Win32/allmacros.inc.
|
| < < < < < < < < < < < < < < < < < < |
Deleted freshlib/macros/_datamacros.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/macros/_display.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/macros/_globals.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/macros/_stdcall.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/macros/_struct.inc.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/macros/allmacros.inc.
|
| < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/readme.txt.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/simpledebug/Linux/debug.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/simpledebug/Win32/debug.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/simpledebug/debug.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/sqlite/sqlite.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/system/Linux/clipboard.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/system/Linux/environment.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/system/Linux/files.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/system/Linux/memory.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/system/Linux/process.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/system/Linux/timers.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/system/Win32/clipboard.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/system/Win32/environment.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/system/Win32/files.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/system/Win32/memory.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/system/Win32/process.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/system/Win32/timers.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/system/all.asm.
|
| < < < < < < < < < < < < < < < < < |
Deleted freshlib/system/clipboard.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/system/environment.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/system/files.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/system/memory.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/system/process.asm.
|
| < < < < < < < < < < < < < < < < < < |
Deleted freshlib/system/timers.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/test_code/FreshLibUse.fpr.
cannot compute difference between binary files
Deleted freshlib/test_code/main.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/test_code0/TestGround.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/test_code0/TestGroundComplex.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/test_code0/TestGroundConfig.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/test_code0/TestGroundDirFunctions.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/test_code0/TestGroundFreshEdit.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/test_code0/TestGroundKeyboard.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/test_code0/TestLib.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/test_code0/UTF8_examples.asm.
|
| < < < < < |
Deleted freshlib/test_code0/UnicodeSample.txt.
|
| < < < < < < |
Deleted freshlib/test_code0/UnicodeSampleEng.txt.
|
| < |
Deleted freshlib/test_code0/_test_images/icon.gif.
cannot compute difference between binary files
Deleted freshlib/test_code0/_test_images/test.gif.
cannot compute difference between binary files
Deleted freshlib/test_code0/test.forth.
|
| < < < < < < < < < < |
Deleted freshlib/test_code0/test_config.udb.
cannot compute difference between binary files
Deleted freshlib/test_code0/test_utf8.asm.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted freshlib/test_code0/unicode_test.txt.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |