New branch 'feature/lok-calc-rtl' available with the following commits:
commit f2cef4ac748deb0b62a87f947124e854dabce67f
Author: Dennis Francis <[email protected]>
Date:   Mon Jan 10 12:03:54 2022 +0530

    lokCalcRTL: fix chart insertion position
    
    Change-Id: I573cb19643d7a048f3313aba90fa9b5514c9cc74

commit 3074e72b4bc41cffbc4103b58132f430e5b0cc81
Author: Dennis Francis <[email protected]>
Date:   Thu Jan 6 15:12:16 2022 +0530

    lokCalcRTL: trim invalidation rect to ensure +ve X
    
    Change-Id: Ifecb52167e3cddee036e1e1e9bd5782a1138b654

commit 1aaa4c9f69216d91c87618d713e4b4b28183264c
Author: Dennis Francis <[email protected]>
Date:   Thu Jan 6 14:52:56 2022 +0530

    lok: setClientZoom: check PPTX/Y approx equality too
    
    This is needed because the initial PPTX/Y on document load does not
    match the implied PPTX/Y corresponding to the client requested zoomX/Y.
    
    For instance when document is loaded by LOK client and 100% zoom is
    requested, the correct PPTX/Y should be (1/15 = 0.0666667) but the
    initial PPTX/Y on the ScViewData is 0.0647702
    
    Change-Id: I996e9f003abd269df0994f3d114e42f84bb2bb20

commit 584d8e6d72b1e193446dfb1ae6a27251f43a6888
Author: Dennis Francis <[email protected]>
Date:   Thu Jan 6 10:54:49 2022 +0530

    lokCalcRTL: fix rendering of charts in edit mode
    
    Inform Sfx2InPlaceClient and LokChartHelper when negated X coordinates
    are used. Ensure that invalidation rectangles have positive coordinates
    in all cases.
    
    Change-Id: I8f5440718e288d8f0d379c8da5f49a29e51f6940

commit 82d55fe89ade80615b2e627cd7f734bd90b1edc9
Author: Dennis Francis <[email protected]>
Date:   Tue Jan 4 14:20:41 2022 +0530

    lokCalcRTL: negate mouse event X for chart and controls
    
    Change-Id: I389047140d1a3d2c67a861a3e20f799206d937b6

commit e33dec265006217d135248caf7af11f62a89d785
Author: Dennis Francis <[email protected]>
Date:   Tue Jan 4 12:55:45 2022 +0530

    lokCalcRTL: fix editing of shape text
    
    Inform editeng that negated document x coordinates are used in this case
    and ensure that editeng generated invalidation rectangles always have
    positive X coordinates.
    
    Change-Id: I2e450707ce02f7bcd8e4d299f857c37ebbd5e2c6

commit d48713f1b7a19df348bc051625a3b1a05538c5b6
Author: Dennis Francis <[email protected]>
Date:   Mon Dec 6 13:55:43 2021 +0530

    lokCalcRTL: shapes: negate mouse-event x coordinate
    
    Change-Id: I153334940b41859e6fd9dee64217925627f0f292

commit c03d1fe23e636bbdb10a594896b04cbfb91dfb41
Author: Dennis Francis <[email protected]>
Date:   Mon Dec 6 13:42:27 2021 +0530

    lokCalcRTL: shapes: do not send negative(X) invalidations
    
    LOK client expects tile invalidations in positive document coordinates
    irrespective of RTL flags.
    
    For this introduce a flag mbNegativeX in svx class SdrMarkView to
    indicate the case when all x coordinates are negated (this happens only
    for the LOK + Calc + RTL mode). Use this flag to counter negate the
    x coordinates before sending invalidation rectangles.
    
    Change-Id: I35d8142718b538e55b668a8ee18f3dd1fe433951

commit 459d96ed9f2f33d66c0b9f294c0f675a45e33c6b
Author: Dennis Francis <[email protected]>
Date:   Tue Nov 30 16:06:51 2021 +0530

    lokCalcRTL: negate the +ve shape handle X coordinate...
    
    ...from lok client as all shape X coordinates are negative in lok-RTL
    mode.
    
    Change-Id: Ic4ba064888901109c85760bb0afda609b5d5942c

commit 6f52126a2c3ad5b0bfbd3fa837cb2e1899c9701b
Author: Dennis Francis <[email protected]>
Date:   Tue Nov 30 13:42:33 2021 +0530

    lokCalcRTL: RTL negation for shape insertion
    
    Change-Id: I8e3bb21fadd05a7b67acce34bfdc354fefba076b

commit 04573cd2bb1db208d148ad2dd15d6e24a3764c9d
Author: Dennis Francis <[email protected]>
Date:   Thu Nov 25 17:38:14 2021 +0530

    lokCalcRTL: shape selection: negate mouse X...
    
    as in LOK RTL mode draw objects have negated document X coordinate.
    
    Change-Id: Ie4c00fc0d1aa458a0aa6dd502be227cd6f82be3e

commit aa20bd392136d1b9750367a2f9bcd4b4844f4511
Author: Dennis Francis <[email protected]>
Date:   Mon Dec 13 11:36:53 2021 +0530

    lokCalcRTL: ensure +ve X coords in shape handles/selections msgs
    
    LOK client expects all coordinates to be in +ve document coordinates, so
    negate the negative X coordinates of LOK RTL shapes before sending the
    selection/handles messages.
    
    Change-Id: I683581370c5b115efbe315224d6218ec2e74c7f1

commit efe73d172f45756f043e5f6a2500d8ca7b17474a
Author: Dennis Francis <[email protected]>
Date:   Thu Nov 25 16:02:35 2021 +0530

    lokCalcRTL: adjustments for shapes rendering
    
    In LOK-RTL mode GetScrPos() always returns document pixel coordinates
    and not something mirrored w.r.t gridwindow width.
    
    * Grid offset must have the opposite sign since the SdrObjects/ranges
      have negative coordinates with no offset.
    
    * Drawing area rectangle and the pixel-offset for tile rendering device
      also needs adjustments when painting the drawing layers.
    
    Change-Id: I987a6876983aee129c06b3577918dbc62d6e7c4c

commit 0c53b4e0a65bab1cb72cc73ac85553f32ae90adb
Author: Dennis Francis <[email protected]>
Date:   Wed Nov 24 17:44:30 2021 +0530

    lokCalcRTL: fix autofilter popup position
    
    Change-Id: Iecf41c286e28f849f77da47a0c5f73cbbc02986a

commit a00e2c92879d355aa40c2c5409337a7cd2eda301
Author: Dennis Francis <[email protected]>
Date:   Wed Nov 24 16:59:47 2021 +0530

    lokCalcRTL: fix autofilter button hit detection
    
    No mirroring needed when not in tile painting mode. All positions are
    in document coordinates.
    
    Change-Id: I45425e2ddce7f5ddc5086dcdce31bb6d081edc41

commit 3b3108648af0561a7d7b3e20c273f64a765479dd
Author: Dennis Francis <[email protected]>
Date:   Wed Nov 24 16:12:32 2021 +0530

    lokCalcRTL: Workaround to avoid DrawPoly ghost drawings
    
    Change-Id: Ib6c794766fe68305566a293892c9123d64a2fc47

commit 1c801b9d784085c37608019102f118b8769145b6
Author: Dennis Francis <[email protected]>
Date:   Wed Nov 24 16:09:29 2021 +0530

    lokCalcRTL: draw autofilter buttons at correct coordinates
    
    Factor out the transformation from document coordinates to tile device
    coordinates in ScLokRTLContext.
    
    Change-Id: I426a179bff253233f6d45b67ddfde8b3bb1344a1

commit b3f47900c9f6cad12cd5faeedb790cc9cdbd4735
Author: Dennis Francis <[email protected]>
Date:   Mon Nov 22 16:34:32 2021 +0530

    lokCalcRTL: selection coords should be mirrored w.r.t output area
    
    Change-Id: I52bbbd4ca69a599c90c00d25513064b025f72bf4

commit 306ad480b5f370611351ac222b3fb71ddef15d42
Author: Dennis Francis <[email protected]>
Date:   Mon Nov 22 14:29:05 2021 +0530

    lokCalcRTL: fix editcell painting from other views as well
    
    Change-Id: Iac431996570f1f7eb091809442d8781ea60aa9b5

commit 72faba947c933cbf51c7d480966bb113ba80552b
Author: Dennis Francis <[email protected]>
Date:   Mon Nov 22 14:14:10 2021 +0530

    lokCalcRTL: edit cell painting: avoid indent...
    
    to match the behaviour in desktop Calc.
    
    Change-Id: I615255635500edf375b237abcab0a21ba6153cce

commit 24c3121e7ce534bfde75395ff0f18deca3a28908
Author: Dennis Francis <[email protected]>
Date:   Mon Nov 22 14:12:32 2021 +0530

    lokCalcRTL: text cursor pos should be mirrored w.r.t output area
    
    Change-Id: Ied4e02d2dd30b7132ea1bc5f0d5b717355ed8b4f

commit c6d6812e356bda406642de2065113088b7d40cbc
Author: Dennis Francis <[email protected]>
Date:   Fri Nov 19 10:21:46 2021 +0530

    lokCalcRTL: fix editcell tile painting
    
    Don't use internal gridwindow width to invert the edit area coordinates.
    The gridwin width is not in sync with lok client width, and it seems
    making them in sync is non-trivial as it currently breaks other things.
    
    For tile-painting, always use the width of visible columns in the
    (combined-)tile area as the mirror width.
    
    In the case of LOK + RTL, because we avoid coordinate mirroring based on
    gridwin-width, any corresponding adjustments in edit engine paper-size,
    output area, visible area are done appropriately.
    
    Advantage of this approach is that the invalidation rectangles sent are
    in the document coordinates which is exactly what the client expects! So
    no additional coordinate reversal needed in core or in lok client for
    invalidation.
    
    Change-Id: I0b687a12dc9344fba9ee772111e7598888fa16bf

commit f7faa8e156e910f78606e553491c1bb596fc4378
Author: Dennis Francis <[email protected]>
Date:   Thu Nov 18 12:32:26 2021 +0530

    lokCalcRTL: incorrect invalidation rectangle for...
    
    cell properties change. LOK client expects invalidation rectangle in
    document coordinates so ensure we don't mirror the x coordinate.
    
    Change-Id: I27bdd29a0d56c7a7b838b7669e3edde805dd1504

commit 93794bb1c095d69b98ca04c821d80ef223886b7e
Author: Dennis Francis <[email protected]>
Date:   Wed Nov 17 17:13:16 2021 +0530

    lokCalcRTL: selections: lokclients need exact document coordinates
    
    so do not do horizontal mirroring.
    
    Change-Id: I93432002810dacfeb609268f436bdf2cfecb3a60

commit ac223e928e56a470792b167fa704b248feb93509
Author: Dennis Francis <[email protected]>
Date:   Wed Nov 17 16:28:43 2021 +0530

    lokCalcRTL: no internal width based mirroring in GetPosFromPixel
    
    The gridwindow width is historically not synced with the visible area in
    client. Mirroring is not necessary when the client is already sending
    the true document coordinates of the mouse events etc.
    
    Change-Id: I74573be406c512324f4c5db0c53fbc12374b88c8

commit 51d0cee4fa0b71d4fb54266b0fe737c133d7f0e8
Author: Dennis Francis <[email protected]>
Date:   Thu Nov 11 16:23:43 2021 +0530

    lokCalcRTL: provide sheet RTL flags to client
    
    Change-Id: If881fdea1c6bae10735cfde624ad6f4f3a34e389

commit acab4478a7352120137ccea47ff40fcf8b92c275
Author: Dennis Francis <[email protected]>
Date:   Thu Nov 11 15:22:28 2021 +0530

    lok: copy over the alpha channel too for cairo...
    
    ...based svp-graphics
    
    Change-Id: I653a8e4048c712911f44f610e13c7f6c3e323de2

commit 3f00671d40ee764fa91fea90671f7615fe8dbb76
Author: Dennis Francis <[email protected]>
Date:   Wed Nov 10 18:53:14 2021 +0530

    lokCalcRTL: h-flip the "combined" tile
    
    This h-flip is needed because the tile containing cell A1 will have the
    coordinates (0, 0). Further aim is to have document coordinates for all
    tile messages and tile invalidation messages. The LOK client should be
    able to map the document coordinates to the correct view coordinates.
    
    In the lok client we also need to h-flip the "regular" tiles at the tile
    position.
    
    Change-Id: Iaf89afeb89f916cb490800ee5d34c4780125f3a0

commit 3c7337fc7518547fafd20351b85753ce3e3e9a0c
Author: Dennis Francis <[email protected]>
Date:   Wed Nov 10 18:51:59 2021 +0530

    lokCalcRTL: Fix the tile offsets
    
    Change-Id: Id0db3d422c8c47ed6fbbc505ca9a857ac54c033a

Reply via email to