Bedrock Features
Run-time Libraries
Bedrock is more than just a porting and conversion process. It's also a set of run-time libraries and build scripts written to standardise your entire development cycle, controlled by custom parameters unique to each build you create, and capable of discarding unused elements from builds that do not use them.
Every part of Bedrock is overridable and extendable, so if you have an alternate system you wish to use for any portion of Bedrock, you can switch in your replacement code instead.
Resource Handler
- Package, load, and reference all your application resources in a standard manner
- Ability to pack resources in a custom manner for each handset without any change needed in your run-time code
Image Drawing
- MIDP1 Canvas / NokiaUI FullCanvas / MIDP2 GameCanvas support
- Image loading & caching
- Optional RLE, or pixel palette index image compression
- Optional palette swapping
- Optional run-time transformations (rotations and mirrors) for all platforms stated above
- Multi-cell animation support
- Run-time image creation from any palette / pixel definitions
Text & Fonts
- Bitmap font support
- Run-time graphical / system font abstraction
- Proportional and fixed width text displays
- Multi-language, ANSI and Unicode text file integration
- Run-time text splitting, including custom hyphenation guidelines for long words
Sound Playback
- Sound playback and vibration support
- JSR-135 (midi, amr, mp3, wav) playback
- NokiaUI (ringtone, wav) playback
- VSCL (spf, mmf) playback
Menu Layout
- An extendable standard templatised way of defining, interpreting, and interacting with any kind of menuing system you may wish to add to your application
- Both static build-time menu definitions as well as the ability to alter menu contents at run-time
Fixed Point Maths & Trigonometry
- Fixed Point mathematical functions and conversions
- Radian / degree conversions
- Sin / Cos / ArcTan trig methods
- Squareroot / Cuberoot methods
- Standard random number functionality
Record Store Access
- Save and load from the phone's recordstore
HTTP Connectivity
- Perform basic multi-threaded client / server connectivity
SMS Connectivity
- Send normal text messages
- Send / respond to Midlet-Push application launch messages
Core Processes
- Interrupt detection
- Keypress / touchscreen detection
- Softkey detection (LCDUI and graphical)
- Cheat detection
- Optional framerate throttling
- State handling
- Multi-threading to support animations during loading sequences
- Debug output