Commit Graph

604 Commits

Author SHA1 Message Date
Gilles Debunne
f788a9fccd TextView with Selection Contextual Mode
Context menu entries have been moved to a contextual mode in the action bar.

Change Input Method has been removed and *should be added to the system bar instead*.

Add word to dictionnary has also been removed and should now be done using the suggestioni
bar "tap on word to add" feature.

Change-Id: I767373f53515b2d6a06500321b4b12ed0b05a9b6
2010-07-28 15:46:35 -07:00
Jeff Brown
2279971b6f am 9795a25d: am 6d0fec2d: Refactor input reader to support new device types more easily.
Merge commit '9795a25da060f9a7df87da8ab43fb1086d4322a5'

* commit '9795a25da060f9a7df87da8ab43fb1086d4322a5':
  Refactor input reader to support new device types more easily.
2010-07-28 14:27:55 -07:00
Jeff Brown
6d0fec2de3 Refactor input reader to support new device types more easily.
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
2010-07-28 14:16:15 -07:00
Adam Powell
5d27977f9d Action modes without action bar
Change-Id: I0367ab35e598a17980bd373b30828175f6283acc
2010-07-27 21:04:52 -07:00
Romain Guy
ac670c0433 Generate shaders to cover all possible cases.
With this change, all the vertex and fragment shaders used by the GL
renderer are now generated based on a program description supplied
by the caller. This allows the renderer to generate a large number
of shaders without having to write all the possible combinations by
hand. The generated shaders are stored in a program cache.

Change-Id: If54d286e77ae021c724d42090da476df12a18ebb
2010-07-27 19:52:29 -07:00
Adam Powell
6e34636749 Moved context modes into view, renamed to action modes
ContextualMode renamed to ActionMode. Adds a reference to the action
bar and reduces confusion around things named "Context".

Change-Id: Ia5098b1d0799a0ece0810c34e6696eda039fb005
2010-07-26 17:28:45 -07:00
Romain Guy
236d4ee896 Merge "Add text rendering." 2010-07-21 21:34:47 -07:00
Romain Guy
694b519ac6 Add text rendering.
Change-Id: Ibe5a9fa844d531b31b55e43de403a98d49f659b9
2010-07-21 21:33:20 -07:00
Chet Haase
46ea482884 Merge "Fix issue with touch MOVE events on transformed containers" 2010-07-21 13:34:23 -07:00
Chet Haase
ddc8e713ba Fix issue with touch MOVE events on transformed containers
Change-Id: I17e58f2c6acce606a672756d48d20eb0796b69e8
2010-07-21 13:12:53 -07:00
Romain Guy
a1db574036 Add preliminary support for text rendering.
Change-Id: I547eb631dbda24d13960d54b4144fb8908fd8a49
2010-07-20 16:37:27 -07:00
Romain Guy
c0ac193b94 Add support for linear gradients.
Change-Id: Id15329da065045b3f06fdaed615f33cd57608496
2010-07-19 18:44:05 -07:00
Adam Powell
ec66a3a9e0 Fix docs for MenuItem#setShowAsAction
Change-Id: Id68273dde9c0ce904bca7b40aa2e9558880c55c2
2010-07-19 15:51:17 -07:00
Romain Guy
33e72aef05 Make View transforms work again.
Change-Id: I42aa8b5a55d7584ed242e1cb1f7123a6354edbc8
2010-07-17 14:26:44 -07:00
Adam Powell
b5de9f3baf Fix bug 2845609 - Touch event dispatching problem.
Maintain the state of the CANCEL_NEXT_UP_EVENT flag properly.

Change-Id: I5ca22409bf8557c486d02806811b10550c5576eb
2010-07-17 01:51:25 -07:00
Chet Haase
5700c95f40 Merge "Fixing view property invalidation issues" 2010-07-16 17:39:44 -07:00
Romain Guy
ea2604d966 Merge "Add plumbing to support gradients in OpenGL renderer." 2010-07-16 17:13:26 -07:00
Romain Guy
7fac2e1833 Add plumbing to support gradients in OpenGL renderer.
The LinearGradient class keeps a copy of the various parameters that
define the gradient. The copies are native arrays to avoid copying
Java arrays on every draw call. The gradient code path is implemented
until OpenGLRenderer::drawRect() (see TODO.) The actual gradient
implementation will be added in a latter change.

Change-Id: I9300d250ef5e2e9c2e097c3116ee71dfc9d752d8
2010-07-16 17:10:13 -07:00
Romain Guy
9a89b0e1b9 Merge "Improve clip support (add intersect, union and replace.)" 2010-07-16 14:13:48 -07:00
Romain Guy
079ba2c85b Improve clip support (add intersect, union and replace.)
This change also modifies the way the clip is stored. The clip is now
always stored in screen-space coordinates.

Change-Id: I96375784d82dfe975bc6477a159e6866e7052487
2010-07-16 14:12:24 -07:00
Chet Haase
9bc829cc15 Fixing view property invalidation issues
Change-Id: I51d2c03cabacfc1a7c05073977e7c22d32de7cb3
2010-07-16 14:08:05 -07:00
Jeff Brown
eb857f12d6 resolved conflicts for merge of f7adbe10 to master
Change-Id: I898a5e53b180adaee2337c0c0b9896c799d056e7
2010-07-16 10:06:33 -07:00
Jeff Brown
e33348ba54 Fix bug with phantom input windows.
Add dumpsys integration for the native input dispatcher.
Add some InputDevice API stubs.
Add an appendFormat helper method to String8 for printf style
string formatting mainly for debugging purposes.
Use generic ArrayList<WindowState> everywhere in WindowManagerService
to eliminate unnecessary casts all over.

Change-Id: I9d1e3bd90eb7222d10620200477f11b7bfd25e44
2010-07-16 00:02:48 -07:00
Jeff Brown
b75fa30aaf resolved conflicts for merge of aca672ba to master
Change-Id: I7ae11fca0acdbf513a4870226d0d3e3cafbe9a08
2010-07-15 23:47:29 -07:00
Jeff Brown
c5ed5910c9 Add support for new input sources.
Added several new coordinate values to MotionEvents to capture
touch major/minor area, tool major/minor area and orientation.

Renamed NDK input constants per convention.

Added InputDevice class in Java which will eventually provide
useful information about available input devices.

Added APIs for manufacturing new MotionEvent objects with multiple
pointers and all necessary coordinate data.

Fixed a bug in the input dispatcher where it could get stuck with
a pointer down forever.

Fixed a bug in the WindowManager where the input window list could
end up containing stale removed windows.

Fixed a bug in the WindowManager where the input channel was being
removed only after the final animation transition had taken place
which caused spurious WINDOW DIED log messages to be printed.

Change-Id: Ie55084da319b20aad29b28a0499b8dd98bb5da68
2010-07-15 18:32:33 -07:00
Romain Guy
c96cdc9844 Merge "Add support for BitmapShader." 2010-07-15 14:45:37 -07:00
Romain Guy
d27977d1a9 Add support for BitmapShader.
This change also fixes an issue with the clip and layers.

Change-Id: I5fd9832098d8cf7ae8eb781ff9bffe7defaea279
2010-07-15 14:44:42 -07:00
Scott Main
82e2b4cb51 am 4fd41688: am 5352d237: am 38137d7a: Merge "docs: lots of additions to the resources docs new drawable resources add <merge> and <include> to layout resource update drawable class descriptioons to point to resources guide add ID resource type" into froyo
Merge commit '4fd416880e53c172bac4a51b2eafea699b58badf'

* commit '4fd416880e53c172bac4a51b2eafea699b58badf':
  docs: lots of additions to the resources docs
2010-07-15 11:54:15 -07:00
Scott Main
5352d2378d am 38137d7a: Merge "docs: lots of additions to the resources docs new drawable resources add <merge> and <include> to layout resource update drawable class descriptioons to point to resources guide add ID resource type" into froyo
Merge commit '38137d7a27b037611c70a9d900aa53b4c15563bf' into gingerbread

* commit '38137d7a27b037611c70a9d900aa53b4c15563bf':
  docs: lots of additions to the resources docs
2010-07-15 11:20:32 -07:00
Chet Haase
c3aa361d65 Add various properties to View to allow it to be moved, scaled, faded, and rotated by property manipulation instead of just Animation operations.
Change-Id: Iefab11f243c7511f7bba0e32bd399ed716b9131f
2010-07-15 10:45:43 -07:00
Jim Miller
839458d8d4 resolved conflicts for merge of e03952c0 to master
Change-Id: I414d934101d452a2c2500e539f0b0aff1e1b3ff0
2010-07-14 17:21:00 -07:00
Dianne Hackborn
71ecab2d89 Argh oops I didn't mean to delete this.
Change-Id: I8910eb8b6e898b77ee6fc63420d6954b496513ca
2010-07-14 17:09:47 -07:00
Dianne Hackborn
ed86eaa730 Merge "Argh oops I didn't mean to delete this." into gingerbread 2010-07-14 17:02:49 -07:00
Jim Miller
9d42c7f75c Merge "Fix 2797185: Re-enable thumbnail generation in framework" into gingerbread 2010-07-14 16:59:52 -07:00
Dianne Hackborn
251fd430c7 Argh oops I didn't mean to delete this.
Change-Id: I3d0877d56f1abab3d0929a086621f4ef1212cecc
2010-07-14 16:56:31 -07:00
Dianne Hackborn
2388ad9eef am f8d9379b: am d76b67c3: IME events are now dispatched to native applications.
Merge commit 'f8d9379bd834573feca085284970cf686993c330'

* commit 'f8d9379bd834573feca085284970cf686993c330':
  IME events are now dispatched to native applications.
2010-07-13 19:50:36 -07:00
Dianne Hackborn
d76b67c340 IME events are now dispatched to native applications.
And also:

- APIs to show and hide the IME, and control its interaction with the app.
- APIs to tell the app when its window resizes and needs to be redrawn.
- API to tell the app the content rectangle of its window (to layout
  around the IME or status bar).

There is still a problem with IME interaction -- we need a way for the
app to deliver events to the IME before it handles them, so that for
example the back key will close the IME instead of finishing the app.

Change-Id: I37b75fc2ec533750ef36ca3aedd2f0cc0b5813cd
2010-07-13 18:36:46 -07:00
Jim Miller
0b2a6d0773 Fix 2797185: Re-enable thumbnail generation in framework
This re-enables thumbnail generation code in the framework
with a few improvements.

In addition to enabling the system to capture thumbnails,
it removes padding from the borders to account for space
overlapped by system widgets (status bar, etc.). Thus,
the contents of the bitmap are only those pixels unique to
the activity.

It also maximizes resolution of the bitmap by capturing the
image in the application's current orientation. In landscape
mode, it captures a bitmap with dimensions w x h.  In portrait,
it captures a bitmap with dimensions h x w. Where w and h are
thumbnail_width and thumbnail_height as defined in dimens.xml.

Though enabled, the change is not currently used in this
branch.  The work is being checked in here to avoid
complicated downstream merges.

Change-Id: Ifc8a4e0075d7d0697d8159589be3816ace31d70c
2010-07-13 18:35:14 -07:00
Jeff Brown
6ac7674e14 am 89ee578b: am fd035829: Add initial gamepad support.
Merge commit '89ee578b7053d27a50922f82feb94bf6054b330c'

* commit '89ee578b7053d27a50922f82feb94bf6054b330c':
  Add initial gamepad support.
2010-07-13 17:48:56 -07:00
Jeff Brown
fd03582995 Add initial gamepad support.
Change-Id: I0439648f6eb5405f200e4223c915eb3a418b32b9
2010-07-13 17:04:57 -07:00
Gilles Debunne
2d0e87b644 Cosmetic changes around TextView.
Fixed some warnings in the code.

Change-Id: Id19395031a1ab41edcc47e3dc8cd9479c6e19f83
2010-07-13 15:07:39 -07:00
Romain Guy
6926c72e25 Correctly support pre-multiplied alpha, optimizations, more stuff.
Add support for the following drawing functions:
- drawBitmap(int[]...)
- drawPaint()

Optimizes shader state changes by enabling/disabling attribute arrays
only when needed.

Adds quick rejects when drawing trivial shapes to avoid unnecessary
OpenGL operations.

Change-Id: Ic2c6c2ed1523d08a63a8c95601a1ec40b6c7fbc9
2010-07-12 20:20:03 -07:00
Dianne Hackborn
8445ca6c3b am b14f325a: am 289b9b62: Add ANativeWindow API for directly drawing to the surface bits.
Merge commit 'b14f325a0118ffce286155caaabaae149653462c'

* commit 'b14f325a0118ffce286155caaabaae149653462c':
  Add ANativeWindow API for directly drawing to the surface bits.
2010-07-09 17:05:23 -07:00
Dianne Hackborn
289b9b6237 Add ANativeWindow API for directly drawing to the surface bits.
Also other cleanup and fixes:

- We now properly set the default window format to 565.
- New APIs to set the window format and flags from native code.
- Tweaked glue for simpler handling of the "destroy" message.
- Um, other stuff.

Change-Id: Id7790a21a2fa9a19b91854d225324a7c1e7c6ade
2010-07-09 16:58:19 -07:00
Romain Guy
dbd77cd444 Remove support for density compatibility in the hardware renderer.
Change-Id: I535e919986e5ccfb344ede8516ccd84c02642823
2010-07-09 10:36:05 -07:00
Jeff Brown
1a33274d28 resolved conflicts for merge of 167449e5 to master
Change-Id: Ib448e69a726eb45b5c9099d2574e40b8345eee67
2010-07-08 19:01:13 -07:00
Romain Guy
dac5f9f3ca Do not draw the fade areas when it's not necessary.
Prior to this change, every singleLine TextView would create, draw
and compose a layer on every draw dispatch. This was unnecessary and
expensive.

Change-Id: Ia4f79d7fc8f485784fe6b795f0f196d38d579838
2010-07-08 12:52:25 -07:00
Romain Guy
deba785f12 Add support to draw 9patches in OpenGL.
This change only adds the necessary API and stubs. The implementation
will be added in another change.

Change-Id: Ie50b8aff5868e78796cee331df15bdbf990d2ea1
2010-07-07 17:55:03 -07:00
Jeff Brown
00fa7bdd69 More native input dispatch work.
Removed old input dispatch code.
Refactored the policy callbacks.
Pushed a tiny bit of the power manager state down to native.
Fixed long press on MENU.
Made the virtual key detection and cancelation a bit more precise.

Change-Id: I5d8c1062f7ea0ab3b54c6fadb058c4d5f5a9e02e
2010-07-03 19:23:01 -07:00
Romain Guy
f86ef57f8b Don't use full screen FBOs, this dramatically increase performance.
The next step will be to add an FBO cache to avoid churning memory on every
frame we draw. This change also adds support for drawBitmap(Bitmap, Matrix, Paint).

Change-Id: I7825cdcf0cad9bffe6219e05d8328a53d4a6e583
2010-07-01 15:27:21 -07:00