21 Commits

Author SHA1 Message Date
Garfield Tan
19a44bc5bc Isolate SpriteIcon into its own file.
This is to isolate differences between internal master and AOSP so that
the open source intern can work on a relatively new project.

It also isolates a divergent piece of code into SpriteIcon.cpp.

Bug: None
Test: Pointer icons in ApiDemos still work.
Change-Id: I1bf8f23411ad7170de2497d6fee0f70b015e9b5f
Merged-In: I1bf8f23411ad7170de2497d6fee0f70b015e9b5f
(cherry picked from commit 7e3457e593f417eb7a5a55d301b3d5f5dd1debdf)
2020-06-01 18:36:03 +00:00
Derek Sollenberger
9ca5bbe39f Create C API for accessing android.graphics.Bitmap in native code.
Restrict access to SkBitmap for libandroid_runtime.so to be only within
the boundaries of the graphics module.

Test: CtsUiRenderingTestCases
Bug: 137655431
Change-Id: I4d0ea227e91d22068966513c4e3a55021b9e924f
2019-09-10 14:50:02 -04:00
Garfield Tan
67e479a4e8 Add cursor type and hotspot to surface metadata.
Also bootstrap unit tests for PointerController. Need to mark 3
functions of SpriteController virtual so their behaviors can be
overridden.

Bug: 130822623
Test: SurfaceFlinger can get cursor type and hotspot.
Change-Id: I739cd03214364144bb4e22a166ecc7abfd3492fe
2019-08-15 14:48:08 -07:00
Arthur Hung
b9b320093c Support mouse pointer on external displays (2/2)
Limit mouse boundary to one display viewport.
Currently if desktop mode is enable, selects the topmost freeform display,
or find first external display if there is no freeform display.
Return the default display if desktop mode is not enable.

- Add getPointerDisplayId to find the preferred display.
- Limit update viewports from InputReader.
- obtainPointerController would also find the associated display id.
- Reload cursor resources if resolution or display changed.

Bug: 113559891
Test: atest inputfliger_tests
Test: ActivityView test app
Change-Id: Iffd01e27f5010ccfb0481a028658b7290ca6316d
2019-01-09 20:52:42 +08:00
Andrii Kulian
d44026fd47 Revert "Support mouse pointer on external displays (2/3)"
This reverts commit 84cdf9cc3b849679e6b4f6d3ccb66270f0abad2f.

Reason for revert: b/120864177

Test: Presubmit
Bug: b/120864177

Change-Id: Ia65e704169527b54cf1d1d470445f96a65fa0294
2018-12-17 13:49:37 -08:00
Andrii Kulian
84cdf9cc3b Support mouse pointer on external displays (2/3)
Limit mouse boundary to one display viewport.
Currently if desktop mode is enable, selects the topmost freeform display,
or find first external display if there is no freeform display.
Return the default display if desktop mode is not enable.

- Add getPointerDisplayId to find the preferred display.
- Limit update viewports from InputReader. Also implements updatePointerDisplay
  to find and associate with the specified display viewport.
- Reload cursor resources if resolution or display changed.

Bug: 113559891
Test: atest inputfliger_tests
Test: ActivityView test app
Change-Id: Ief3410a517be457dfe6f1180342bb1dc88833635
2018-12-10 21:01:05 +08:00
Siarhei Vishniakou
8027876f9f Refactor String8 to std::string calls
DisplayViewport::uniqueId is now std::string, so change the calls
appropriately. Do some additional cleanups and conversions.
This almost completely removes the dependency on String8.

Test: build only
Bug: 111108021
Change-Id: Ibbb6ca59e9061954d4a5fb930ef03d42cb0230db
2018-07-11 09:56:43 +01:00
Robert Carr
e13b58e15b Use new SurfaceFlinger transaction API.
For now we reimplement global transactions in the Java side
JNI layer.

Bug: 64815723
Bug: 64816140
Bug: 64815766
Test: Existing tests pass. go/wm-smoke
Change-Id: I6c0a7b5e65b1b6cc844ac61f3269629af60a4244
2017-10-09 16:52:48 -07:00
Matt Sarett
155d52155b Remove uses of SkBitmap::copyTo
This API is being deleted:
skbug.com/6464

Test: Refactor

Change-Id: Id78653ca45d6bfee2e4f9c9c24c2414b888f0df5
2017-04-26 16:17:46 -04:00
Mike Reed
6c9bb2408f Don't use deprecated canvas methods
Allows skia to remove SK_SUPPORT_LEGACY_CANVAS_HELPERS

Test: Existing tests cover the change.

Change-Id: I764c11f7a9bd7b87fba8563968160ee7dc9a99a2
2017-04-04 13:19:38 +00:00
Mark Salyzyn
db15537e6e resolve merge conflicts of 082a1721b516 to master
Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I17f178f425975c1c0dbd48091d25b101956d505e
2017-01-11 08:30:17 -08:00
Mark Salyzyn
52eb4e01a4 Replace cutils/log.h and log/logger.h with log/log.h
Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I578b15b48f0fc2807a92abbc69a377c3d2191496
2017-01-09 14:31:34 -08:00
Mike Reed
c2f31df8b3 use SkBlendMode
skbug.com/5814

Test: compile only
Change-Id: Ibbaff43df1117b2ca77fd8f917f03d88cc476330
(cherry picked from commit 26edbcba8a2ed4cb300e7f87e679e3b73cec2772)
2016-11-02 11:36:48 -04:00
Mike Reed
260ab72648 use SkBlendMode instead of SkXfermode
use sk_sp versions of paint setters/getters

Change-Id: I86591a0a8ec92e6039776cbf00424ea24f585b28
2016-10-13 17:14:52 -04:00
Andreas Gampe
6b83b76dd1 Frameworks/base: Wall Werror in libs/input
Enable -Wall -Werror in libs/input. Mask warnings from Skia.

Change-Id: I0deeffde07fcf3a09eadec2852e9bf5666b55ee8
2014-11-10 15:55:11 -08:00
Riley Andrews
68eccdade2 Add cursor flags into SpriteController to suppor async cursor updates.
- This is fairly blindly taken from nvidia's implementation.

Change-Id: I825ecbd9cb4b394793dce079591b37efca546bbe
2014-07-28 22:04:06 +00:00
Mike Reed
4a9c3891d4 kNative_8888_SkColorType is now kN32_SkColorType
Change-Id: I13421a21de611203c62c1c1c36570a8cc803907b
2014-07-07 15:47:55 -04:00
Mike Reed
b933055cf3 stop using (deprecated) SkBitmap::Config
Change-Id: Ic75b5fc6996578e9d95bd3a220439ec1541d7c3b
2014-06-20 10:28:37 -04:00
Leon Scroggins
cc11f15f76 Update to call new Skia APIs.
I816129d49c0118453222916f3c818eccac33663d merges a new version of
Skia that updates various APIs. Call the new ones.

SkBitmap::copyTo now takes an SkColorType instead of an
SkBitmap::Config, so do the conversion with
SkBitmapConfigToColorType or use the enum when it makes sense.

Call SkImageDecoder::decodeSubset instead of (deprecated)
SkImageDecoder::decodeRegion.

Override SkCanvas::ClipVisitor::clipRRect in ClipCopier.

In Canvas::clip calls, call SkCanvas::isClipEmpty(), which was
previously called inside the clip call, to determine the return value.

For various SkPaint effects, call the new factories (as the constructors
have been made protected).

Implement SkJavaOutputStream::bytesWritten(), overriding a new pure
virtual function on SkWStream.

Update Matrix calls to always return true (since SkMatrix calls no
longer return a value).

Depends on I816129d49c0118453222916f3c818eccac33663d (skia).

Change-Id: I5cdcea827ebff587df0bbddc0965e3e0fbf48002
2014-04-04 14:42:39 -04:00
Amith Yamasani
49782e46c0 am 9158825f: Move some system services to separate directories
* commit '9158825f9c41869689d6b1786d7c7aa8bdd524ce':
  Move some system services to separate directories
2013-12-19 23:30:35 +00:00
Amith Yamasani
9158825f9c Move some system services to separate directories
Refactored the directory structure so that services can be optionally
excluded. This is step 1. Will be followed by another change that makes
it possible to remove services from the build.

Change-Id: Ideacedfd34b5e213217ad3ff4ebb21c4a8e73f85
2013-12-19 15:25:37 -08:00