Fresh IDE . Check-in [cc61b3e780]
Not logged in

This repository is a mirror!

The original is located on: https://fresh.flatassembler.net/fossil/repo/fresh
If you want to follow the project, please update your remote-url

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Removed unnecessary call of XFlush and XFlushGC.
Timelines: family | ancestors | descendants | both | NoCanvasGUI
Files: files | file ages | folders
SHA1: cc61b3e7800c1118293d6f2499dc3e96880a2d09
User & Date: johnfound 2017-11-15 13:26:31.550
Context
2017-11-16
20:19
Fixed bug in DrawSolidRect causing hanging of the application. check-in: 1714fae0d7 user: johnfound tags: NoCanvasGUI
2017-11-15
13:26
Removed unnecessary call of XFlush and XFlushGC. check-in: cc61b3e780 user: johnfound tags: NoCanvasGUI
10:40
Preventing set wrapW/wrapH to zero. More compact DrawImageRect procedure for Linux. check-in: 2d46744055 user: johnfound tags: NoCanvasGUI
Changes
Unified Diff Ignore Whitespace Patch
Changes to freshlib/graphics/Linux/images.asm.
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
        mov     [.maskUR.left], ecx                     ; UR
        mov     [.maskUR.bottom], edx                   ; UR

        shl     ecx, 1
        shl     edx, 1

        mov     [.maskUR.right], ecx                    ; UR
        mov     [.maskLL.bottom], edx           ; LL
        mov     [.maskLR.right], ecx                            ; LR
        mov     [.maskLR.bottom], edx                           ; LR

        mov     ecx, [.xSrc]
        mov     edx, [.ySrc]
        mov     [.sRect.left], ecx
        mov     [.sRect.top], edx







|







256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
        mov     [.maskUR.left], ecx                     ; UR
        mov     [.maskUR.bottom], edx                   ; UR

        shl     ecx, 1
        shl     edx, 1

        mov     [.maskUR.right], ecx                    ; UR
        mov     [.maskLL.bottom], edx                   ; LL
        mov     [.maskLR.right], ecx                            ; LR
        mov     [.maskLR.bottom], edx                           ; LR

        mov     ecx, [.xSrc]
        mov     edx, [.ySrc]
        mov     [.sRect.left], ecx
        mov     [.sRect.top], edx
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
        push    [ebx+RECT.top]                  ; .ySrc
        push    [ebx+RECT.left]                 ; .xSrc
        push    [esi+TLinuxImage.ximage]        ; .ximage
        push    [.gc]                           ; .context
        push    [.where]                        ; .drawable
        push    [hApplicationDisplay]           ; .display

        call    [.draw_proc]
        add     esp, 11*4

.next:
        cmp     [.fDraw], 0
        je      .end_draw

        sub     ebx, sizeof.RECT
        dec     edi
        jns     .draw_loop

.end_draw:

        cmp     [flagSharedMemory], 0
        je      .events_ok

; now, wait for the events:
        cinvoke XFlushGC, [hApplicationDisplay], [.gc]
        cinvoke XFlush, [hApplicationDisplay]

        lea     eax, [.event]
        cinvoke XIfEvent, [hApplicationDisplay], eax, ___CheckCompletionEvent, eax

.events_ok:

        cinvoke XFreeGC, [hApplicationDisplay], [.gc]








|
















<
<
<







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
        push    [ebx+RECT.top]                  ; .ySrc
        push    [ebx+RECT.left]                 ; .xSrc
        push    [esi+TLinuxImage.ximage]        ; .ximage
        push    [.gc]                           ; .context
        push    [.where]                        ; .drawable
        push    [hApplicationDisplay]           ; .display

        call    [.draw_proc]     ; XShmPutImage or XPutImage depending on SHM available.
        add     esp, 11*4

.next:
        cmp     [.fDraw], 0
        je      .end_draw

        sub     ebx, sizeof.RECT
        dec     edi
        jns     .draw_loop

.end_draw:

        cmp     [flagSharedMemory], 0
        je      .events_ok

; now, wait for the events:



        lea     eax, [.event]
        cinvoke XIfEvent, [hApplicationDisplay], eax, ___CheckCompletionEvent, eax

.events_ok:

        cinvoke XFreeGC, [hApplicationDisplay], [.gc]