summaryrefslogtreecommitdiffstats
path: root/libs/ui/Android.mk
Commit message (Collapse)AuthorAgeFilesLines
* ui/sf: Add support for exynos HDMIRicardo Cerqueira2012-12-301-0/+19
| | | | Change-Id: I27b34e95c04750e3dd321a2183b6cc1d89f29b5d
* Show build config in dumpsys SurfaceFlingerAndy McFadden2012-09-251-1/+2
| | | | | | | | | | | | | 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
* Update ANativeWindow clients for syncJamie Gennis2012-06-201-2/+4
| | | | | | | 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
* remove libui dependency on libEGLMathias Agopian2012-02-241-2/+0
| | | | Change-Id: I1194f04085637d5c384e134967249430cc43b6ee
* Merge "libui: add ability to force a framebuffer format for EGL's use"Dima Zavin2012-02-221-0/+4
|\
| * libui: add ability to force a framebuffer format for EGL's useDima Zavin2012-02-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | This does not actually change the framebuffer format. It merely fakes this format to surfaceflinger so that when it creates framebuffer surfaces it will use this format. It's really a giant HACK to allow interworking with buggy gralloc+GPU driver implementations. You should *NEVER* need to set this for shipping devices. Change-Id: I03eeb5b4d72838ef219df386ecc489fc20ab9cc7 Signed-off-by: Dima Zavin <dima@android.com>
* | remove libui's dependency on libpixelflingerMathias Agopian2012-02-211-1/+0
|/ | | | | | this also remove support for unused pixelformats. Change-Id: I2c759a6d2daa740f3786ed62095def8047ae933d
* frameworks/base refactoringMathias Agopian2012-02-201-34/+1
| | | | | | create the new libandroidfw from parts of libui and libutils Change-Id: I1584995616fff5d527a2aba63921b682a6194d58
* remove dead/usnused codeMathias Agopian2012-01-111-1/+0
| | | | Change-Id: I6fa2bc6ee01790abd2c1533f043d61a5e5c8d26e
* Remove the simulator target from all makefiles.Jeff Brown2011-07-111-4/+0
| | | | | | Bug: 5010576 Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
* Remove native EventRecurrence parserAndy McFadden2011-06-281-1/+0
| | | | | | | | Switch over to the new parser. Bug 4575374 Change-Id: If78d8042fb266182900398f7fc464a048c779966
* Add support for arbitrary axes in MotionEvents.Jeff Brown2011-02-151-1/+6
| | | | | | | | | | | This change makes it possible to extend the set of axes that are reported in MotionEvents by defining new axis constants. The MotionEvent object is now backed by its C++ counterpart to avoid having to maintain multiple representations of the same data. Change-Id: Ibe93c90d4b390d43c176cce48d558d20869ee608
* Mouse pointer integration.Jeff Brown2011-01-041-4/+0
| | | | | | | | | | Added support for loading the pointer icon from a resource. Moved the system server related bits of the input manager out of libui and into libinput since they do not need to be linked into applications. Change-Id: Iec11e0725b3add2b905c51f8ea2c3b4b0d1a2d67
* remove support for PUSH_BUFFER surfaces and overlaysMathias Agopian2010-12-081-3/+0
| | | | | | | the same functionality is now supported through the h/w composer HAL, and YUV support in the GPU. Change-Id: I8146605449954b8e8fd7f78810b7d873c2d8f5bf
* Improve support for external keyboards.Jeff Brown2010-12-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Use Vendor ID, Product ID and optionally the Version to locate keymaps and configuration files for external devices. Moved virtual key definition parsing to native code so that EventHub can identify touch screens with virtual keys and load the appropriate key layout file. Cleaned up a lot of old code in EventHub. Fixed a regression in ViewRoot's fallback event handling. Fixed a minor bug in FileMap that caused it to try to munmap or close invalid handled when released if the attempt to map the file failed. Added a couple of new String8 conveniences for formatting strings. Modified Tokenizer to fall back to open+read when mmap fails since we can't mmap sysfs files as needed to open the virtual key definition files in /sys/board_properties/. Change-Id: I6ca5e5f9547619fd082ddac47e87ce185da69ee6
* Port Emulator keymaps.Jeff Brown2010-11-231-4/+39
| | | | | | | | | | | | | | Also added a validation tool for keymaps (not currently integrated into the build system but getting there). This change brings back Android.mk with the intent that it will be used to validate keymaps in a later change. Added some missing keys that are present on phones. Bug: 3215210 Bug: 3225421 Change-Id: Id817c6e2215164616942c51a42752915d9ceacd3
* Added support for full PC-style keyboards.Jeff Brown2010-11-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BREAKING CHANGE: Redesigned the key character map format to accomodate full keyboards with more comprehensive suite of modifiers. Old key character maps will not work anymore and must be updated. The new format is plain text only and it not compiled to a binary file (so the "kcm" tool will be removed in a subsequent check-in). Added FULL keyboard type to support full PC-style keyboards. Added SPECIAL_FUNCTION keyboard type to support special function keypads that do not have any printable keys suitable for typing and only have keys like HOME and POWER Added a special VIRTUAL_KEYBOARD device id convention that maps to a virtual keyboard with a fixed known layout. This is designed to work around issues injecting input events on devices whose built-in keyboard does not have a useful key character map (ie. when the built-in keyboard is a special function keyboard only.) Modified several places where events were being synthesized to use the virtual keyboard. Removed support for the "qwerty" default layout. The new default layout is "Generic". For the most part "qwerty" was being used as a backstop in case the built-in keyboard did not have a key character map (probably because it was a special function keypad) and the framework needed to be able to inject key events anyways. The latter issue is resolved by using the special VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD. Added the concept of a key modifier behavior so that MetaKeyKeyListener can distinguish between keyboards that use chorded vs. toggled modifiers. Wrote more robust key layout and key character map parsers to enable support for new keyboard features and user installable key maps. Fixed a bug in InputReader generating key ups when keys are released out of sequence. Updated tons of documentation. Currently QwertyKeyListener is being used for full keyboards with autotext and capitalization disabled. This mostly works but causes some problems with character pickers, etc. These issues will be resolved in subsequent changes. Change-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354
* Add logging of various important graphics eventsMathias Agopian2010-09-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are 16 events logged in the event log: SF_APP_DEQUEUE_BEFORE SF_APP_DEQUEUE_AFTER SF_APP_LOCK_BEFORE SF_APP_LOCK_AFTER SF_APP_QUEUE SF_REPAINT SF_COMPOSITION_COMPLETE SF_UNLOCK_CLIENTS SF_SWAP_BUFFERS SF_REPAINT_DONE SF_FB_POST_BEFORE SF_FB_POST_AFTER SF_FB_DEQUEUE_BEFORE SF_FB_DEQUEUE_AFTER SF_FB_LOCK_BEFORE SF_FB_LOCK_AFTER all events log the buffer conserned and a timestamp in microseconds. by default the logging is not enabled, to turn it on: adb shell service call SurfaceFlinger 1006 i31 1 adb shell setprop debug.graphic_log 1 The effect is immediate in SurfaceFlinger, but applications need to be restarted. Change-Id: Ifc2e31f7aed072d9a7dede20ff2ce59231edbec1
* Refactor input reader to support new device types more easily.Jeff Brown2010-07-281-1/+0
| | | | | | | | | | | | | | | | | | | | | | Refactored the input reader so that each raw input protocol is handled by a separate subclass of the new InputMapper type. This way, behaviors pertaining to keyboard, trackballs, touchscreens, switches and other devices are clearly distinguished for improved maintainability. Added partial support for describing capabilities of input devices (incomplete and untested for now, will be fleshed out in later commits). Simplified EventHub interface somewhat since InputReader is taking over more of the work. Cleaned up some of the interactions between InputManager and WindowManagerService related to reading input state. Fixed swiping finger from screen edge into display area. Added logging of device information to 'dumpsys window'. Change-Id: I17faffc33e3aec3a0f33f0b37e81a70609378612
* Add initial gamepad support.Jeff Brown2010-07-131-0/+11
| | | | Change-Id: I0439648f6eb5405f200e4223c915eb3a418b32b9
* Native input dispatch rewrite work in progress.Jeff Brown2010-06-131-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old dispatch mechanism has been left in place and continues to be used by default for now. To enable native input dispatch, edit the ENABLE_NATIVE_DISPATCH constant in WindowManagerPolicy. Includes part of the new input event NDK API. Some details TBD. To wire up input dispatch, as the ViewRoot adds a window to the window session it receives an InputChannel object as an output argument. The InputChannel encapsulates the file descriptors for a shared memory region and two pipe end-points. The ViewRoot then provides the InputChannel to the InputQueue. Behind the scenes, InputQueue simply attaches handlers to the native PollLoop object that underlies the MessageQueue. This way MessageQueue doesn't need to know anything about input dispatch per-se, it just exposes (in native code) a PollLoop that other components can use to monitor file descriptor state changes. There can be zero or more targets for any given input event. Each input target is specified by its input channel and some parameters including flags, an X/Y coordinate offset, and the dispatch timeout. An input target can request either synchronous dispatch (for foreground apps) or asynchronous dispatch (fire-and-forget for wallpapers and "outside" targets). Currently, finding the appropriate input targets for an event requires a call back into the WindowManagerServer from native code. In the future this will be refactored to avoid most of these callbacks except as required to handle pending focus transitions. End-to-end event dispatch mostly works! To do: event injection, rate limiting, ANRs, testing, optimization, etc. Change-Id: I8c36b2b9e0a2d27392040ecda0f51b636456de25
* split libsurfaceflinger_client and libcamera_client out of libuiMathias Agopian2010-02-111-13/+1
|
* fix [2170319] gmail bulk operation checkbox latency on passionMathias Agopian2009-10-071-2/+1
| | | | | | | | | | | | | | | This also fixes [2152536] ANR in browser When SF is enqueuing buffers faster than SF dequeues them. The update flag in SF is not counted and under some situations SF will only dequeue the first buffer. The state at this point is not technically corrupted, it's valid, but just delayed by one buffer. In the case of the Browser ANR, because the last enqueued buffer was delayed the resizing of the current buffer couldn't happen. The system would always fall back onto its feet if anything -else- in tried to draw, because the "late" buffer would be picked up then.
* fix [2167050] glTexImage2D code path buggy in SurfaceFlingerMathias Agopian2009-10-061-2/+3
| | | | | | | | | | | | | | When EGLImage extension is not available, SurfaceFlinger will fallback to using glTexImage2D and glTexSubImage2D instead, which requires 50% more memory and an extra copy. However this code path has never been exercised and had some bugs which this patch fix. Mainly the scale factor wasn't computed right when falling back on glDrawElements. We also fallback to this mode of operation if a buffer doesn't have the adequate usage bits for EGLImage usage. This changes only code that is currently not executed. Some refactoring was needed to keep the change clean. This doesn't change anything functionaly.
* Fix sim-eng build.Andy McFadden2009-09-091-0/+4
| | | | | | | | | | | | | | Appears to have been broken by: commit 9779b221e999583ff89e0dfc40e56398737adbb3 Author: Mathias Agopian <mathias@google.com> Date: Mon Sep 7 16:32:45 2009 -0700 fix [2068105] implement queueBuffer/lockBuffer/dequeueBuffer properly For some reason we don't like to have "-lpthread" globally -- it's a no-op on device builds, but required for many host tools and all sim binaries -- so adding the use of pthread calls requires adding the library explicitly.
* fix [2068105] implement queueBuffer/lockBuffer/dequeueBuffer properlyMathias Agopian2009-09-071-0/+2
| | | | | | | | | | | | | | | Rewrote SurfaceFlinger's buffer management from the ground-up. The design now support an arbitrary number of buffers per surface, however the current implementation is limited to four. Currently only 2 buffers are used in practice. The main new feature is to be able to dequeue all buffers at once (very important when there are only two). A client can dequeue all buffers until there are none available, it can lock all buffers except the last one that is used for composition. The client will block then, until a new buffer is enqueued. The current implementation requires that buffers are locked in the same order they are dequeued and enqueued in the same order they are locked. Only one buffer can be locked at a time. eg. Allowed sequence: DQ, DQ, LOCK, Q, LOCK, Q eg. Forbidden sequence: DQ, DQ, LOCK, LOCK, Q, Q
* added two EGL helpers for selecting a config matching a certain pixelformat ↵Mathias Agopian2009-08-061-0/+2
| | | | or native window type
* Merge commit 'goog/master' into merge_masterMathias Agopian2009-07-011-2/+1
|\
| * am c44989d6: Merge change 5350 into donutAndroid (Google) Code Review2009-06-251-2/+1
| |\ | | | | | | | | | | | | | | | | | | Merge commit 'c44989d6c7bcc761fb37f54fd37aac2070ba8e5e' * commit 'c44989d6c7bcc761fb37f54fd37aac2070ba8e5e': move ui/Time.cpp to core/jni, since this is the only place it is used
| | * move ui/Time.cpp to core/jni, since this is the only place it is usedMathias Agopian2009-06-251-2/+1
| | |
* | | Merge commit 'goog/master' into merge_masterMathias Agopian2009-05-271-1/+0
|\ \ \ | |/ / | | | | | | | | | | | | Conflicts: include/ui/Rect.h libs/ui/ISurfaceComposer.cpp
| * | am 0c0ad39c: Merge change 2502 into donutAndroid (Google) Code Review2009-05-261-1/+0
| |\ \ | | |/ | | | | | | | | | | | | | | | Merge commit '0c0ad39cd8eaa6de6b7f99cec3971bcc953461e0' * commit '0c0ad39cd8eaa6de6b7f99cec3971bcc953461e0': minor clean-up to Rect and Point.
| | * minor clean-up to Rect and Point.Mathias Agopian2009-05-261-1/+0
| | | | | | | | | | | | | | | | | | - return "const" objects for overloaded operators to disallow constructs like: (a+b) = c; - don't return references to non-static members, it's not always safe. - Point.cpp was empty, so get rid of it
* | | merge master to master_glMathias Agopian2009-05-221-0/+1
|\ \ \ | |/ /
| * | checkpoint: split libutils into libutils + libbinderMathias Agopian2009-05-201-0/+1
| |/
* | Region now has its own implementation instead of relying on SkRegion, which ↵Mathias Agopian2009-05-171-1/+0
| | | | | | | | allows us to break libui's dependency on libcorecg.
* | update surfaceflinger, libui and libagl to the new gralloc apiMathias Agopian2009-05-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Currently the lock/unlock path is naive and is done for each drawing operation (glDrawElements and glDrawArrays). this should be improved eventually. - factor all the lock/unlock code in SurfaceBuffer. - fixed "showupdate" so it works even when we don't have preserving eglSwapBuffers(). - improved the situation with the dirty-region and fixed a problem that caused GL apps to not update. - make use of LightRefBase() where needed, instead of duplicating its implementation - add LightRefBase::getStrongCount() - renamed EGLNativeWindowSurface.cpp to FramebufferNativeWindow.cpp - disabled copybits test, since it clashes with the new gralloc api - Camera/Video will be fixed later when we rework the overlay apis
* | Integrate from //sandbox/mathias/donut/...@145728Mathias Agopian2009-04-101-1/+1
|/ | | | SurfaceFlinger rework for new EGL driver model support.
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-0/+41
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-41/+0
|
* auto import from //branches/cupcake/...@126645The Android Open Source Project2009-01-151-1/+2
|
* Code drop from //branches/cupcake/...@124589The Android Open Source Project2008-12-171-1/+2
|
* Initial ContributionThe Android Open Source Project2008-10-211-0/+39