Metismo

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

Device Database

Bedrock comes with a database of hundreds of device profiles, across multiple release platforms, which control not only the run-time code, but also the entire compilation process to get the best out of each handset for your application. This information enables you to assess any target handset from day one of your development cycle. And if a handset isn't present, a Device Profiler is provided that enables you to add the handset yourself.

Development OS

Bedrock can be run within a development environment using either Windows, Linux or Mac OSX. Currently the Mac OSX version is required to target the iPhone.

#