summaryrefslogtreecommitdiffstats
path: root/include/ui
Commit message (Collapse)AuthorAgeFilesLines
* libgui: Add support to update buffer geometry.Ramkumar Radhakrishnan2013-03-102-0/+9
| | | | | | | | | Add native window properties NATIVE_WINDOW_UPDATE_BUFFERS_GEOMETRY to the perform function of SurfaceTextureClient and SurfaceTexture to update the width, height and format of the buffer dynamically from the client before queue buffer call. Change-Id: I62447fcf523b507d534085cd0835f55a978c4ead
* Add support for custom buffer sizes.Ramkumar Radhakrishnan2013-03-102-2/+16
| | | | | | | | Add native window properties NATIVE_WINDOW_SET_BUFFERS_SIZE to the perform function of SurfaceTextureClient to set the user defined size of graphic buffers. Change-Id: I1dc2203990a3641fbb9ddab9a86f7e9017f05270
* Merge tag 'android-4.2.2_r1' of ↵Steve Kondik2013-02-151-0/+1
|\ | | | | | | | | | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/native into 1.1 Android 4.2.2 release 1 Conflicts: libs/ui/GraphicBufferAllocator.cpp Change-Id: Id60a6580bf5a3ba04f8e1e2b1b950e0b93888166
| * DO NOT MERGE GraphicBufferAllocator: make frees asyncJamie Gennis2012-12-071-0/+1
| | | | | | | | | | | | | | | | | | This change makes GraphicBufferAllocator::free queue a job to another thread to perform the actual free operation. This prevents potentially slow free operations from blocking rendering. Bug: 7675940 Change-Id: Id61099d66bb4c3949d04184e0d7f192ac18076b4
* | ui/sf: Add support for exynos HDMIRicardo Cerqueira2012-12-301-0/+10
| | | | | | | | Change-Id: I27b34e95c04750e3dd321a2183b6cc1d89f29b5d
* | Merge "exynos4: ui: define USAGE_HW_FIMC1 to support gralloc" into mr1-stagingDaniel Hillenbrand2012-11-262-2/+8
|\ \
| * | exynos4: ui: define USAGE_HW_FIMC1 to support gralloccodeworkx2012-11-252-2/+8
| | | | | | | | | | | | | | | | | | | | | Source: http://git.insignal.co.kr/samsung/exynos/android/platform/frameworks/native/commit/?h=exynos-jb&id=5179fef67cadaa10d72cfe6764629565bc9a1e4e Change-Id: Id194446eb332869f677dfb7e94c73aa3f52ee4b0
* | | ui: exynos4: getphys is commoncodeworkx2012-11-261-1/+1
|/ / | | | | | | Change-Id: I1dc9c2ced0700072e7c30c8435676873b10c7026
* | exynos4: getphys implementation on buffermanager for samsung omxcodeworkx2012-11-241-1/+5
|/ | | | Change-Id: Iee665f56aaf601479d796703db983ca5fce9c5c3
* SurfaceFlinger: add support for secure displaysJamie Gennis2012-10-221-1/+2
| | | | | | | | | This change adds support for displays that are not allowed to display surfaces with the eSecure flag set. All non-virtual displays are considered secure, while virtual displays have their secure-ness specified at creation time. Bug: 7368436 Change-Id: I81ad535d2d1e5a7ff78269017e85b111f0098500
* Fence didn't manager sync_wait error codes properlyMathias Agopian2012-10-091-2/+2
| | | | | | | | | | error codes are returned in errno, this caused ::waitForwever() to only wait for 1 second and return improper error code (-1). needed to help debugging 7316632 Bug: 7316632 Change-Id: Ie144f614a88393393972a3a770c6b4b0581f961a
* Add Fence::waitForever which logs a warning timeout, and use itJesse Hall2012-10-021-0/+7
| | | | | Bug: 7217641 Change-Id: If0c1a613ead307c4045a47824174bf40c72bc7d7
* Show build config in dumpsys SurfaceFlingerAndy McFadden2012-09-251-0/+29
| | | | | | | | | | | | | This adds a line to the "dumpsys SurfaceFlinger" output that shows build-time configuration values. Example: Build configuration: [sf HAS_CONTEXT_PRIORITY] [libui] \ [libgui USE_FENCE_SYNC] Bug 7206633 Change-Id: Ibe1856b459d34a4be6ee83a4ebfd2807e6cc68a0
* strengthen region validationMathias Agopian2012-09-121-1/+2
| | | | Change-Id: I75ee7bc4dd7a2f5357ac8994a23bc8b8bfb6eb44
* Add a way to retrieve a Region as a SharedBufferMathias Agopian2012-08-311-6/+14
| | | | Change-Id: Ia53cb905fbc88f899521658545f990fb9217b1e1
* change how we store Region data internallyMathias Agopian2012-08-311-6/+8
| | | | | | | | | | | | | We used to keep the bounds of the region as a separate rectangle. Instead we now store it as the last element of the Vector<> of Rects. This has the benefit of being slightly more efficient when copying regions and reduces the overhead of small regions, but more importantly will allow us to export the underlaying SharedBuffer (eventually). Change-Id: I80790e4fb1a09a747a5616000cfef852ac4ce9e9
* ui/Fence: change the TIMEOUT_NEVER value to -1Jamie Gennis2012-08-211-2/+1
| | | | Change-Id: I3ef0a4c06f80990b53a8bf2eda6edbfcbefd0f34
* improve [un]marshalling of non-binder objectsMathias Agopian2012-08-133-10/+10
| | | | | | | | | | | | | | | | | this change introduces a new class LightFlattenable<> which is a protocol to flatten simple objects that don't require binders or file descriptors; the benefit of this protocol is that it doesn't require the objects to have a virtual table and give us a consitant way of doing this. we also introduce an implementation of this protocol for POD structures, LightFlattenablePod<>. Parcel has been update to handle this protocol automatically. Sensor, Rect, Point and Region now use this new protocol. Change-Id: Icb3ce7fa1d785249eb666f39c2129f2fc143ea4a
* Merge remote-tracking branch 'goog/jb-dev-mako' into jb-mr1-devEd Heyl2012-07-281-2/+3
|\ | | | | | | | | | | | | Conflicts: include/media/hardware/CryptoAPI.h Change-Id: I84bf34edbef000558f088bbf1d1e5b55d6217d2e
| * libs/ui: Add support for triple framebuffersNaseer Ahmed2012-07-091-2/+3
| | | | | | | | Change-Id: I90dd38deeeda9a3785b87286cc7d252c6f948750
* | get rid of the shared-memory control blockMathias Agopian2012-07-251-12/+10
| | | | | | | | Change-Id: If814060aca1d2ff2619d4adcd57296983d207f7f
* | Pass fences with buffers from SurfaceTextureClientJesse Hall2012-06-301-0/+5
| | | | | | | | Change-Id: I09b49433788d01e8b2b3684bb4d0112be29538d3
* | Return fence to client in dequeuBufferJesse Hall2012-06-281-0/+5
| | | | | | | | Change-Id: Ic19750793ad993f0e85391f3cabd743ba565d4c9
* | Transfer HWC release fences to BufferQueueJesse Hall2012-06-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After a HWC set, each SurfaceFlinger Layer retrieves the release fence HWC returned and gives it to the layer's SurfaceTexture. The SurfaceTexture accumulates the fences into a merged fence until the next updateTexImage, then passes the merged fence to the BufferQueue in releaseBuffer. In a follow-on change, BufferQueue will return the fence along with the buffer slot in dequeueBuffer. For now, dequeueBuffer waits for the fence to signal before returning. The releaseFence default value for BufferQueue::releaseBuffer() is temporary to avoid transient build breaks with a multi-project checkin. It'll disappear in the next change. Change-Id: Iaa9a0d5775235585d9cbf453d3a64623d08013d9
* | Update ANativeWindow clients for syncJamie Gennis2012-06-201-4/+7
| | | | | | | | | | | | | | This change updates the uses of ANativeWindow to use the new ANW functions that accept and return Sync HAL fence file descriptors. Change-Id: I3ca648b6ac33f7360e86754f924aa072f95242f6
* | libui: add the Fence classJamie Gennis2012-06-201-0/+94
|/ | | | | | | This change adds the Fence class to libui for to wrap the libsync functionality. Change-Id: I93a31baeee608b93c14da807a32013dabf783f84
* minor Rect.h cleanupMathias Agopian2012-05-131-2/+9
| | | | | | | add getBounds(), getWidth(), getHeight(), width() and height() are kept for backward compatibility. Change-Id: I83837abf17dc2f8bded1beff73430e8c7d9bbdb3
* SurfaceFlinger: add a crop to the layer stateJamie Gennis2012-05-111-1/+1
| | | | | | | | | This change adds a crop rectangle specified in window coordinates to the layer state. The all window pixels outside this crop rectangle are treated as though they were fully transparent. This change also adds the plumbing necessary for WindowManager to set that crop. Change-Id: I582bc445dc8c97d4c943d4db8d582a6ef5a66081
* libui: add the Rect::transform methodJamie Gennis2012-05-071-1/+9
| | | | | | | | This change adds a method to Rect to transform a rectangle by a graphics HAL transform. Change-Id: Ic0d0988e731bdb5662faee41a5927b1242891658 Bug: 6299171
* remove dependency on android_native{s_priv|buffer}.hMathias Agopian2012-02-245-94/+13
| | | | Change-Id: Ie4b95f7061c240f37c504414259f92d72c4ffc89
* remove libui dependency on libEGLMathias Agopian2012-02-241-53/+0
| | | | Change-Id: I1194f04085637d5c384e134967249430cc43b6ee
* deprecate L_8, LA_88 and RGB_332 in sdkMathias Agopian2012-02-241-7/+6
| | | | | | | | | | re-add support for pixelformats L_8, LA_88 and RGB_332 in libui for backward compatibility. This may or may not fix 6058926 Bug: 6049685 Change-Id: Ic1b8b4cc994522f7fe664da64c0ef76b98bc6d53
* remove libui's dependency on libpixelflingerMathias Agopian2012-02-211-10/+2
| | | | | | this also remove support for unused pixelformats. Change-Id: I2c759a6d2daa740f3786ed62095def8047ae933d
* frameworks/base refactoring.Mathias Agopian2012-02-178-2071/+0
| | | | | | First step. Move libui includes to their new home: androidfw. Change-Id: Ic042b52fdba72f30edc3cc6339bf30b4c1b99662
* Clean up InputChannel file descriptor data type.Jeff Brown2012-02-141-3/+3
| | | | | | File descriptors are ints. Change-Id: Ie36733bf36ddfeaa9a09ef6ebd7bd2f1788f5d27
* Accurately track the sequence numbers of batched events.Jeff Brown2012-02-131-1/+12
| | | | | | | | | | | | | Instead of sending finished signals immediately when appending to a batch, record the chain of sequence numbers that were part of the batch and then send finished signals all at once when done. This change helps the dispatcher keep track of the true state of the application and can improve ANR detection slightly. This is part of a series of changes to improve input system pipelining. Bug: 5963420 Change-Id: I463c2221e2aa8fdf1c3d670c18e39e59ab69b0db
* Enable deferred input messages to be batched.Jeff Brown2012-02-131-4/+6
| | | | | | | This is part of a series of changes to improve input system pipelining. Bug: 5963420 Change-Id: I6874d2128e880a35c6c33890c858cc6ee22af0fd
* Implement batching of input events on the consumer side.Jeff Brown2012-02-131-7/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | To support this feature, the input dispatcher now allows input events to be acknowledged out-of-order. As a result, the consumer can choose to defer handling an input event from one device (because it is building a big batch) while continuing to handle input events from other devices. The InputEventReceiver now sends a notification when a batch is pending. The ViewRoot handles this notification by scheduling a draw on the next sync. When the draw happens, the InputEventReceiver is instructed to consume all pending batched input events, the input event queue is fully processed (as much as possible), and then the ViewRoot performs traversals as usual. With these changes in place, the input dispatch latency is consistently less than one frame as long as the application itself isn't stalled. Input events are delivered to the application as soon as possible and are handled as soon as possible. In practice, it is no longer possible for an application to build up a huge backlog of touch events. This is part of a series of changes to improve input system pipelining. Bug: 5963420 Change-Id: I42c01117eca78f12d66d49a736c1c122346ccd1d
* Rewrite input transport using sockets.Jeff Brown2012-02-131-173/+112
| | | | | | | | | | | | Since we will not longer be modifying events in place, we don't need to use an ashmem region for input. Simplified the code to instead use a socket of type SOCK_SEQPACKET. This is part of a series of changes to improve input system pipelining. Bug: 5963420 Change-Id: I05909075ed8b61b93900913e44c6db84857340d8
* Preliminary support for clipRect(Rect, Op)Romain Guy2012-02-071-0/+14
| | | | | | | This adds basic support for clip regions. It is currently disabled at compile time. Enabling clip regions will require setting up a stencil buffer. Change-Id: I638616a972276e38737f8ac0633692c3845eaa74
* remove dead/usnused codeMathias Agopian2012-01-111-70/+0
| | | | Change-Id: I6fa2bc6ee01790abd2c1533f043d61a5e5c8d26e
* Merge "SurfaceMediaSource: use the vid enc usage bit" into ics-mr1Jamie Gennis2011-11-291-0/+1
|\
| * SurfaceMediaSource: use the vid enc usage bitJamie Gennis2011-11-211-0/+1
| | | | | | | | | | | | | | This change makes SurfaceMediaSource add the VIDEO_ENC usage bit when allocating its GraphicBuffers rather than the HW_TEXTURE bit. Change-Id: Ie20e225c894fdbc31cad6bb82b3b64c7e98074eb
* | Fix application launch shortcuts.Jeff Brown2011-11-291-0/+4
|/ | | | | | | | | | | | | | | | | Improved quick launch bookmarks to support category-based shortcuts instead of hardcoding package and class names for all apps. Added a set of Intent categories for typical applications on the platform. Added support for some of the HID application launch usages to reduce reliance on quick launch for special purpose keys. Some keyboard vendors have hardcoded launch keys that synthesize "Search + X" type key combos. The goal is to encourage them to stop doing this by implementing more of HID. Bug: 5674723 Change-Id: I79f1147c65a208efc3f67228c9f0fa5cd050c593
* Eliminate hw.keyboards system properties.Jeff Brown2011-11-153-19/+4
| | | | | | | | | | | | Stop using system properties to publish information about the key character map path. Instead, we can retrieve it on demand by asking the window manager. It was possible to exhaust the supply of system properties when repeatedly adding and removing input devices. Bug: 5532806 Change-Id: Idd361a24ad7db2edc185c8546db7fb05f9c28669
* fix the float Rect in OpenGLRenderer to handle NANsMathias Agopian2011-09-191-1/+1
| | | | | | | | | | | | | | | - we want functions like isEmpty() to return true if NANs are involved in the Rect - also clean-up the intersect familly of calls - minor cleanup in the int32_t Rect as well These played a role in http://b/5331198. Bug: 5331198 Change-Id: I5369725ab482e4b83da9f1bd4cee5256e5de75b2
* Velocity Tracker II: The Revenge of Velocity TrackerJeff Brown2011-09-141-9/+40
| | | | | | | | | | | | | | | | | | | | | Bug: 5265529 Rewrote the velocity tracker to fit a polynomial curve to pointer movements using least squares linear regression. The velocity is simply the first derivative of this polynomial. Clients can also obtain an Estimator that describes the complete terms of the estimating polynomial including the coefficient of determination which provides a measure of the quality of the fit (confidence). Enhanced PointerLocation to display the movement curve predicted by the estimator in addition to the velocity vector. By default, the algorithm computes a 2nd degree (quadratic) polynomial based on a 100ms recent history horizon. Change-Id: Id377bef44117fce68fee2c41f90134ce3224d3a1
* Tweak VelocityTracker.Jeff Brown2011-09-091-2/+6
| | | | | | | | | | | | Bug: 5265529 Calculate the velocity using the most recent touch sample as the point of reference instead of the oldest. This change more heavily weights recent touch samples and reduces the sample time window used for calculation. This significantly improves the accuracy of fling gesture detection. Change-Id: Ib1940933e786e5f6a731552a99bcd9400741d55f
* SurfaceFlinger: use the HWC gralloc usage bitJamie Gennis2011-08-221-0/+1
| | | | | | | | This change makes SurfaceFlinger always use the GRALLOC_USAGE_HW_COMPOSER usage bit when allocating buffers that may be passed to the HWComposer. Change-Id: I70362a8ede2b359fb2046853f85149d597465817
* Input system bug fixes, particularly for stylus.Jeff Brown2011-08-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 5049148 Finished stylus support, including support for indirect stylus and mouse tools. Added TILT axis. When stylus tilt X/Y is available, it is transformed into an orientation and tilt inclination which is a more convenient representation and a simpler extension to the exiting API. Touch devices now only report touch data using a single input source. Previously touch devices in pointer mode would report both absolute touch pad data and cooked pointer gestures. Now we just pick one. The touch device switches modes as needed when the focused application enables/disables pointer gestures. This change greatly simplifies the code and reduces the load on the input dispatcher. Fixed an incorrect assumption that the value of ABS_(MT_)DISTANCE would be zero whenever the stylus was in direct contact. It appears that the correct way to determine whether the stylus is in direct contact (rather than hovering) is by checking for a non-zero reported pressure. Added code to read the initial state of tool buttons and axis values when the input devices are initialized or reset. This fixes problems where the input mapper state might have the wrong initial state. Moved responsibility for cancelling pending inputs (keys down, touches, etc.) to the InputDispatcher by sending it a device reset notification. This frees the InputReader from having to synthesize events during reset, which was cumbersome and somewhat brittle to begin with. Consolidated more of the common accumulator logic from SingleTouchInputMapper and MultiTouchInputMapper into TouchInputMapper. Improved the PointerLocation output. Change-Id: I595d3647f7fd7cb1e3eff8b3c76b85043b5fe2f0