summaryrefslogtreecommitdiff
path: root/vcl/ios
AgeCommit message (Collapse)AuthorFilesLines
2013-11-15releasing the CGDataProvider to prevent possible memory leaksPtyl Dragon1-0/+1
Change-Id: Ib64f457bd9cc185e979b1a3e9f07fdba93da88d7
2013-11-15created a long long unit for MLOContentSizePtyl Dragon1-11/+0
Change-Id: I41910058088161119d3cae8ca625d456652d890f
2013-11-15changed to CGSizePtyl Dragon1-0/+11
Change-Id: Ic84fcadf4332210693586825cdd8e32ef0f2a727
2013-11-15refactored to allow copying FixedImage to iosPtyl Dragon1-2/+34
Change-Id: Icecdae8ea2bb68c228f038758af8fb688ce9dd4a
2013-11-15Tiled rendering: Tunnel the request for a tile to the ViewShell.Jan Holesovsky1-13/+0
Change-Id: I6271546ab2c0e92832c501617d94d5ad155de705
2013-10-23More work on selection handling in iOSTor Lillqvist1-0/+26
Got the selection start and end handle dragging working... The trick was not to call SwWrtShell::SetCursor(), but SwCrsrShell::SetCrsr(). Sounds easy but took a lot of guessing and experimentation to figure out. Anyway, now it does what I had expected it to do a few das ago already. There are glitches, especially in corner cases like if you move the start handle past the end handle or vice versa. more Change-Id: Id6c1d99a4052531789bccf0d48165cfb41b89cfe 9b94c0dd55b04a7b6b3c40654562a9c51fa9b450
2013-10-22Try to handle selection resizing in a more "correct" wayTor Lillqvist1-0/+27
Faking mouse clicks is a stupid way to do it of course. Try to do it "right". For now just worked on moving the end handle, but once that works, similar code should be used for the start handle, too. Does not work yet. It is hard to extract out from SwEditWin::MouseButtonDown() exactly what all is relevant, and what isn't, for this use case. Change-Id: I76a226f787facbac645aaff8b4852d693bcf4ccb
2013-10-18More text selection WIP hackingTor Lillqvist1-18/+22
Change-Id: Ia29725295613faf875a688b3917b144a5f05bbe3
2013-10-17Tiles: Documentation of the parameters.Jan Holesovsky1-1/+1
Change-Id: Ibe31a105972cee2aff9b6896cdd80bd93a1a0e7d
2013-10-17added draw tile signature and select all fixptyl@cloudon.com1-0/+13
Change-Id: I6118c55caa12d9ba52000f89e869e27b218859be
2013-10-15New iOS client codeptyl@cloudon.com1-4/+4
does not work yet - needs fix by tor after refactoring of ios-bootstrap.h Change-Id: I0728306beb734511bd3f16e2e4922fd726bb37da
2013-10-13Minor refactoring of iOS codeTor Lillqvist1-15/+17
Rename functions so that functions called by the UI layer for actions to happen in the LO layer and functions called by the LO layer for things to happen in the UI layer use different prefixes. Move declarations to the generic <touch/touch.h> and avoid iOS-specific types in the API. Change-Id: Ieb8979065e02a87c4a415c934163265f2790d011
2013-10-11iOS experimental app support for selection marking via long press gestureptyl@cloudon.com1-0/+28
Change-Id: Ib7a71797a2dc967f9d8ddd60fdc10c78201a87c8 Reviewed-on: https://gerrit.libreoffice.org/5911 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2013-10-09Fix for iOS scroll by pixels, and pinch to zoomptyl@cloudon.com1-3/+14
Minor further changes by tml to match the coding style of surrounding code mainly. Change-Id: Ied6087a264f1c6b00763ea36fba9808329afede4 Reviewed-on: https://gerrit.libreoffice.org/5742 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2013-09-12in iOS avoid copying covered windows to screentsahi glik1-3/+11
Change-Id: Iebf53e5c2e3909e068739351ccce497ca91b67a5 Reviewed-on: https://gerrit.libreoffice.org/5710 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2013-09-12Sync IOS screen invalidate to end of painttsahi glik1-2/+17
Change-Id: If179c5280366a377ace710e4acf7df737544b224 Reviewed-on: https://gerrit.libreoffice.org/5706 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2013-07-12Turn basebmp::Format into a proper enumStephan Bergmann1-1/+1
Change-Id: I4067c5039c7b5c74a1c144721dd7260de54dd2bf
2013-06-26There is already the AddTempDevFont() in coretextTor Lillqvist1-7/+0
Change-Id: I384e9d499eedbe87030417952bf057b16cf549d2
2013-04-19Add pan gesture handlingTor Lillqvist1-0/+11
I get exactly the same kind of artefacts as in the Android app, which I guess is good as it is at least consistent, as the implementation at the LO layer is identical... Change-Id: Icf0690fd2c48a133cb66de2ab7977b7088d2199e
2013-04-16More orientation experimentation and hackingTor Lillqvist1-0/+9
Now it re-orients and re-sizes the LO "frame" correctly upon rotation, but it still starts wrongly if starting in landscape orientation. Change-Id: I4c12a7e00d687391435a47400b6e8b4c7e49bdda
2013-04-16Try to propagate display size change to LOTor Lillqvist1-1/+25
Change-Id: If52c0aa9290c377c08f2cec8c9e36d987c0ed9b6
2013-04-14Add lo_keyboard_input()Tor Lillqvist1-0/+11
Change-Id: I5904f673de9854af47eefac2f192295a281c5525
2013-04-13Add experimental lo_keyboard_did_hide() implementationTor Lillqvist1-0/+15
Change-Id: I24a7449848710c0e09a4bf0da0d906d30a59f0bd
2013-04-07mass removal of rtl:: prefixes for O(U)String*Luboš Luňák1-7/+7
Modules sal, salhelper, cppu, cppuhelper, codemaker (selectively) and odk have kept them, in order not to break external API (the automatic using declaration is LO-internal). Change-Id: I588fc9e0c45b914f824f91c0376980621d730f09
2013-04-07Bin some not longer interesting NSLoggingTor Lillqvist1-18/+0
Change-Id: I1afd93fc9a56e85a30991bce9ca2350764cf1ec2
2013-03-31Revert "Try redrawing in multiple phases to avoid blocking the UI thread too ↵Tor Lillqvist1-36/+12
long" This reverts commit 3aae02d02d418222b0b51748008ed5c9c1f1d3c2.
2013-03-31Try redrawing in multiple phases to avoid blocking the UI thread too longTor Lillqvist1-12/+36
When initially calling lo_render_windows() from a redrawRect(), just post the user event asking for a redraw of the (headless) windows, and return without actually drawing anything to the context. Then when the RenderWindows() callback for that user event eventually gets called (which during startup and/or loading of a document might be several seconds later, as there is lots of other activity going on also as "user events"), ask the UI thread for a fresh redraw, and wait for lo_render_windows() in that phase to signal the actual redraw of the "headless" windows into the context. Unfortunately this doesn't work well enough. It is not a good idea to not draw anything in response to a drawRect() it seems. The affected rectangle gets initialised to black. So there is now irritating flashing. One sees an almost ready document (and the UI elements which still are there), but then it goes away for some time before finally re-appearding. Quite silly. So I will revert this, and I am committing it just to keep the code for reference in git. Change-Id: I9ee490345f093d80113c36f9e3268cab5a810dd0
2013-03-30Unbreak use of pthread condition variablesTor Lillqvist1-10/+74
I am not really satisfied yet with how the UI redrawing in the app now works (during startup, which of course is more or less all the app does so far). It can take quite some time before a "link" (function to be called) posted with PostUserEvent() gets run (if there are lots of time-consuming other "user events" in the queue already, or something?), and blocking the UI thread for that time is not acceptable. Will have to come up with some more complicated solution. Change-Id: Icab20183df3bc4980ae33f0502d10397802cc391
2013-03-30Render the "headless" frames to the UI view in the LO threadTor Lillqvist1-30/+48
We used to render them in the app main (GUI) thread, which is dangerous, accessing the headless frames in one thread while the LO thread (where the "main" LibreOffice code is running) might be updating and changing them. This fixes some problems like that part of the document did not show up. If I would test the app on a multi-core iPad, presumably I would have seen even more problems. But this also introduces new problems: Now the UI doesn't appear incrementally (for instance, with an actually progressing progress bar during the loading of the document) as it used to. Now it all appeads all of a sudden, everything at once. Which would be fine if it happened very quickly after starting the app, but it doesn't... on the original iPad it takes half a minute. Change-Id: I04068e0d884aa5cb86acefa76449aac4e081b193
2013-03-30IosSalInstance::BlitFrameToBuffer() and RedrawWindows() are unneeded nowTor Lillqvist1-49/+0
Change-Id: I6873461aed7db7b7f06e45556eacb82bcf118aea
2013-03-30Draw the frame virtual device bitmaps directly to the destination CGContextTor Lillqvist1-4/+30
Much faster. No need for the pixelBuffer inbetween. Change-Id: I6493faca6da3a3e9a1285e00c887928b85dca56e
2013-03-30Refactor the iOS Viewer app and rename it to "LibreOffice"Tor Lillqvist1-8/+7
No, it isn't any closer to being "ready" despite the name, but still, using the current approach, it clearly isn't restricted to be just a viewer. Also drop the verbose LOViewer prefix from class and file names in it. Change-Id: Ib4e8a31d6fa1b35169ee98cf2aa8f0f22957164c
2013-03-30Add lo_tap()Tor Lillqvist1-0/+17
Change-Id: I635be54c27c93de0a11be7bdd01979b99dadda28
2013-03-26Improve the blitting, use memcpy for each rowTor Lillqvist1-8/+8
Change-Id: Idfc5efe8b2326748670fec82a7780f81b243dbc8
2013-03-26Introduce temporary lo_set_view_size() hack like on Android and call itTor Lillqvist1-0/+8
Change-Id: I44df0946f59d1b9a2a6ea935b3c2ea3c96c1260d
2013-03-26Don't exit intentionallyTor Lillqvist1-10/+5
Change-Id: I1d4c7dbc8ed9254e92d097454704c811ba1532f1
2013-03-21Re-work the vcl aspects of the iOS portTor Lillqvist21-6258/+458
Don't try to use similar code as for OS X to manage windows, events etc. I.e. don't use UIKit in vcl to do that. Instead, just do as in the Android port, use the "headless" vcl backend. Do keep using CoreText, though, not FreeType & fontconfig. Start changing the iOS "Viewer" app to correspond to the Android "desktop" app (so it should be renamed). Work in progress since a long time, several crucial details still missing, but committing for now. Change-Id: Iac5fbf8def415e4d0d21e5200450a373420ad7ee
2013-03-21avoid Wundef / fix endian detectionLuboš Luňák1-1/+2
2013-03-19removal of RTL_CONSTASCII_USTRINGPARAM for quoted OUStrings declarationsThomas Arnhold1-1/+1
s/(OUString\s+[a-zA-Z_][A-Za-z0-9_]*\s*)\(\s*RTL_CONSTASCII_USTRINGPARAM\s*\((\s*"[^")]*?"\s*)\)\s*\)/$1\($2\)/gms Change-Id: Iad20f242c80c4bdc69df17e2d7a69d58ea53654b Reviewed-on: https://gerrit.libreoffice.org/2835 Reviewed-by: Thomas Arnhold <thomas@arnhold.org> Tested-by: Thomas Arnhold <thomas@arnhold.org>
2013-03-19automated removal of RTL_CONSTASCII_USTRINGPARAM for quoted OUStringsThomas Arnhold4-17/+16
Done with a perl regex: s/OUString\s*\(\s*RTL_CONSTASCII_USTRINGPARAM\s*\((\s*"[^")]*?"\s*)\)\s*\)/OUString\($1\)/gms Change-Id: Idf28320817cdcbea6d0f7ec06a9bf51bd2c3b3ec Reviewed-on: https://gerrit.libreoffice.org/2832 Reviewed-by: Thomas Arnhold <thomas@arnhold.org> Tested-by: Thomas Arnhold <thomas@arnhold.org>
2013-03-18Don't do any own auto-cleanup of aurorelease pools on iOS when a thread endsTor Lillqvist1-21/+1
According to documentation, the system does it automatically. Testing seemed to confirm that, with the code still in I got mysterious crashes. Not sure if the corresponding code is unnecessary or wrong on OS X, too. Change-Id: I14e9f5bcc0376e9235f8d36b484b38c1e44932c4
2013-03-18SalData::drainThreadAutoreleasePool() is unusedTor Lillqvist1-24/+0
Change-Id: Idbb98b32ffc5970e236c9d319e0e8791b855e283
2013-03-16mnSystemVersion not usedTor Lillqvist1-1/+0
Change-Id: Ief800f1228bca327fd8d77a78fa332639f5d5f69
2013-02-24fdo#38838 searched, replaced and removed String::CreateFromInt32().Jean-Noël Rouvignac1-1/+1
I ran the following code replace: s/(Uni|Xub)?String\s*::\s*CreateFromInt32/OUString::number/ And finally removed String::CreateFromInt32(). Change-Id: I53b26a59c68511ae09f0ee82cfade210d0de3fa5 Reviewed-on: https://gerrit.libreoffice.org/2279 Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org> Reviewed-by: Thomas Arnhold <thomas@arnhold.org> Tested-by: Thomas Arnhold <thomas@arnhold.org>
2013-02-12fdo#46808, use constructor for datatransfer::MimeContentTypeFactoryNoel Grandin1-10/+3
Change-Id: I576a472e22ad0e3798f4b34d808ac320f13d3e6d
2013-01-30Remove unused DeInitSalMainStephan Bergmann1-6/+0
Change-Id: I8fd733fe6535cc4f9f299f53adc1821ce344a85c
2013-01-19AquaSalBitmap and IosSalBitmap were identical so unifyTor Lillqvist5-918/+13
Call it QuartzSalBitmap. The more we get rid of that "Aqua" term the better. Aqua is the name of a visual theme, not of an API. The Quartz 2D API is shared between OS X and iOS.
2013-01-19De-duplication of CoreText code and headers for OS X and iOSTor Lillqvist10-1559/+82
Nominally renamed the AquaSalGraphics class to QuartzSalGraphics, as it isn't now then "Aqua" (Mac OS X) specific any more. Actually, for Mac OS X, because lots of code in vcl/aqua expects it to be called AquaSalGraphics (just like the alternative class used when using the obsolete ATSUI API on Mac OS X), use a #define to make it still be called AquaSalGraphics to the compiler's eyes. For iOS it can be called QuartzSalGraphics.
2013-01-19Use SAL_INFO instead of home-grown msgs_debugTor Lillqvist4-57/+50
If there is a need to optionally get a thread identifier or the function name into logging output (as msgs_debug did), we should figure out a way to do that in some elegant fashion in the sal logging macros instead of using some local solution in just one place in the code. Yes, the iOS and OS X CoreText code should be de-duplicated. Will happen soon.
2013-01-19Fix iOS bit-rot and unify with OS X CoreText codeTor Lillqvist4-173/+192
Adapt to the fairly pointless privatisations here, too. Unify with the OS X CoreText code. Yeah, probably should unify physically, i.e. use the same source files for both, with as little ifdefs as possible. Change-Id: I63bc477f0c979769bb995db37a3c4194e8091b30