Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword or section
Like this

Table Of Contents

Introduction to emWin
3.1 Purpose of this document
3.2 Assumptions
3.3 How to use this manual
3.4 Typographic conventions for syntax
3.5 Requirements
3.5.1 Target system (hardware)
3.5.2 Development environment (compiler)
3.6 Features
3.7 Examples and demos
3.8 Starter kits
3.9 Screen and coordinates
3.10 How to connect the display to the micro controller
3.11 Data types
4.1 Recommended directory structure
4.1.1 Subdirectories
4.1.2 Include directories
4.2 Adding emWin to the target program
4.3 Creating a library
4.3.1 Adapting the library batch files to a different system
4.4 C files to include in the project
4.5 Configuring emWin
4.6 Initializing emWin
4.7 Using emWin with target hardware
4.8 The "Hello world" example program
5.1 Using the simulation
5.1.1 Using the simulation with the trial version of emWin Directory structure Visual C++ workspace Compiling the demo program Compiling the examples
5.1.2 Using the simulation with the emWin source Directory structure Visual C++ workspace Compiling the application
5.1.3 Advanced features of the simulation Pause and Resume View system info Copy to clipboard
5.2 Device simulation
5.2.1 Generated frame view
5.2.2 Custom bitmap view
5.2.3 Window view
5.3 Device simulation API
5.4 Hardkey simulation
5.4.1 Hardkey simulation API
5.5 Integrating the emWin simulation into an existing simulation
5.5.1 Directory structure
5.5.2 Using the simulation library Modifying WinMain Example application
5.5.3 Integration into the embOS Simulation WinMain Target program (main)
5.5.4 GUI simulation API
6.1 Using the viewer
6.1.1 Using the simulation and the viewer
6.1.2 Using the viewer with virtual pages
6.1.3 Always on top
6.1.4 Open further windows of the display output
6.1.5 Zooming
6.1.6 Copy the output to the clipboard
6.1.7 Using the viewer with multiple displays
6.1.8 Using the viewer with multiple layers
7.1 Basic routines
7.2 Text API
7.3 Routines to display text
7.4 Selecting text drawing modes
7.5 Selecting text alignment
7.6 Setting the current text position
7.7 Retrieving the current text position
7.8 Routines to clear a window or parts of it
Displaying Values
8.1 Value API
8.2 Displaying decimal values
8.3 Displaying floating point values
8.4 Displaying binary values
8.5 Displaying hexadecimal values
8.6 Version of emWin
2-D Graphic Library
9.1 Graphic API
9.2 Drawing modes
9.3 Query current client rectangle
9.4 Pen size
9.5 Basic drawing routines
9.6 Alpha blending
9.7 Drawing bitmaps
9.8 Drawing streamed bitmaps
9.9 Drawing lines
9.10 Drawing polygons
9.11 Drawing circles
9.12 Drawing ellipses
9.13 Drawing arcs
9.14 Drawing graphs
9.15 Drawing pie charts
9.16 Saving and restoring the GUI-context
9.17 Clipping
Displaying bitmap files
10.1 BMP file support
10.1.1 Supported formats
10.1.2 BMP file API
10.2 JPEG file support
10.2.1 Supported JPEG compression methods
10.2.2 Converting a JPEG file to C source
10.2.3 Displaying JPEG files
10.2.4 Memory usage
10.2.5 Progressive JPEG files
10.2.6 JPEG file API
10.3 GIF file support
10.3.1 Converting a GIF file to C source
10.3.2 Displaying GIF files
10.3.3 Memory usage
10.3.4 GIF file API
10.4 PNG file support
10.4.1 Converting a PNG file to C source
10.4.2 Displaying PNG files
10.4.3 Memory usage
10.4.4 PNG file API
10.5 Getting data with the ...Ex() functions
11.1 Introduction
11.2 Font types
11.3 Font formats
11.3.1 C file format
11.3.2 System Independent Font (SIF) format
11.3.3 External Bitmap Font (XBF) format
11.3.4 TrueType Font (TTF) format
11.4 Converting a TTF file to C source
11.5 Declaring custom fonts
11.6 Selecting a font
11.7 Font API
11.8 C file related font functions
11.9 ’SIF’ file related font functions
11.10 ’TTF’ file related font functions
11.11 ’XBF’ file related font functions
11.12 Common font-related functions
11.13 Character sets
11.13.2ISO 8859-1 Western Latin character set
11.14 Font converter
11.14.1Adding fonts
11.15 Standard fonts
11.15.1Font identifier naming convention
11.15.2Font file naming convention
11.15.3Measurement, ROM-size and character set of fonts
11.15.4Proportional fonts, ROM size and used files
11.15.5Proportional fonts, framed, ROM size and used files
11.15.6Monospaced fonts, ROM size and used files
11.15.7Digit fonts (proportional), ROM size and used files
11.15.8Digit fonts (monospaced), ROM size and used files
12.1 What it does
12.2 Loading a bitmap
12.2.1 Supported input file formats
12.2.2 Loading from a file
12.2.3 Using the clipboard
12.3 Generating C files from bitmaps
12.3.1 Supported bitmap formats
12.3.2 Palette information
12.3.3 Transparency
12.3.4 Alpha blending
12.3.5 Selecting the best format
12.3.6 Saving the file
12.4 Color conversion
12.5 Generating C stream files
12.6 Compressed bitmaps
12.7 Using a custom palette
12.7.1 Saving a palette file
12.7.2 Palette file format
12.7.3 Palette files for fixed palette modes
12.7.4 Converting a bitmap
12.8 Command line usage
12.8.1 Format for commands
12.8.2 Valid command line options
12.9 Example of a converted bitmap
13.1 Predefined colors
13.2 The color bar test routine
13.3 Fixed palette modes
13.4 Detailed fixed palette mode description
13.5 Application defined color conversion
13.6 Custom palette mode
13.7 Color API
13.8 Basic color functions
13.9 Index & color conversion
14.1 Using memory devices: an illustration
14.2 Supported color depth (bpp)
14.3 Memory devices and the window manager
14.4 Memory devices and multiple layers
14.5 Memory requirements
14.6 Performance
14.7 Basic functions
14.8 In order to be able to use memory devices
14.9 Multi layer / multi display configurations
14.10 Configuration options
14.11 Memory device API
14.12 Basic functions
14.17 Animation functions (Window Manager required)
Execution Model: Single Task / Multitask
15.1 Supported execution models
Single task system (superloop)
15.2 Single task system (superloop)
15.2.1 Description
15.2.2 Superloop example (without emWin)
15.2.3 Advantages
15.2.4 Disadvantages
15.2.5 Using emWin
15.2.6 Superloop example (with emWin)
15.3 Multitask system: one task calling emWin
15.3.1 Description
15.3.2 Advantages
15.3.3 Disadvantages
15.3.4 Using emWin
15.4 Multitask system: multiple tasks calling emWin
15.4.1 Description
15.4.2 Advantages
15.4.3 Disadvantages
15.4.4 Using emWin
15.4.5 Recommendations
15.4.6 Example
15.5 GUI configuration functions for multitasking support
15.6 GUI configuration macros for multitasking support
15.7 Kernel interface API
15.7.1 Examples
The Window Manager (WM)
16.1 Description of terms
16.2 Callback mechanism, invalidation and rendering
16.2.1 Rendering without callbacks
16.2.2 Rendering using callbacks
16.2.3 Background window redrawing and callback
16.2.4 Invalidation
16.2.5 Rendering of transparent windows
16.2.6 Automatic use of memory devices
16.2.7 Automatic use of multiple frame buffers
16.2.8 Automatic use of display driver cache
16.3 Messages
16.3.1 Message structure
16.3.2 List of messages
16.3.3 System-defined messages
16.3.4 Pointer input device (PID) messages
16.3.5 System-defined notification codes
16.3.6 Application-defined messages
16.4 Configuration options
16.5 WM API
16.5.1 Using the WM API functions
16.6 Basic functions
16.7 Memory device support (optional)
16.8 Timer related functions
16.9 Widget related functions
16.10 Example
Window Objects (Widgets)
17.1 Some basics
17.1.1 Available widgets
17.1.2 Understanding the redrawing mechanism
17.1.3 How to use widgets
17.2 Configuration options
17.3 General widget API
17.3.1 WM routines used for widgets
17.3.2 Common routines
17.3.3 User drawn widgets
17.4 BUTTON: Button widget
17.4.1 Configuration options
17.4.2 Notification codes
17.4.3 Keyboard reaction
17.4.5 Examples
17.5 CHECKBOX: Checkbox widget
17.5.1 Configuration options
17.5.2 Notification codes
17.5.3 Keyboard reaction
17.6 DROPDOWN: Dropdown widget
17.6.1 Configuration options
17.6.2 Notification codes
17.6.3 Keyboard reaction
17.7.4 EDIT API
17.7.5 Examples
17.8 FRAMEWIN: Frame window widget
17.8.1 Structure of the frame window
17.8.2 Configuration options
17.8.3 Keyboard reaction
17.8.5 Example
17.9 GRAPH: Graph widget
17.9.1 Structure of the graph widget
17.9.2 Creating and deleting a graph widget
17.9.3 Drawing process
17.9.4 Supported types of curves GRAPH_DATA_XY GRAPH_DATA_YT
17.9.5 Configuration options Graph widget Scale object
17.9.6 Keyboard reaction
17.9.7 GRAPH API Common routines GRAPH_DATA_YT related routines GRAPH_DATA_XY related routines Scale related routines
17.9.8 Examples
17.10 HEADER: Header widget
17.10.1Configuration options
17.10.2Notification codes
17.10.3Keyboard reaction
17.11 ICONVIEW: Icon view widget
17.11.1Configuration options
17.11.2Notification codes
17.11.3Keyboard reaction
17.12 LISTBOX: List box widget
17.12.1Configuration options
17.12.2Notification codes
17.12.3Keyboard reaction
17.13 LISTVIEW: Listview widget
17.13.1Configuration options
17.13.2Notification codes
17.13.3Keyboard reaction
17.14 LISTWHEEL: Listwheel widget
17.14.1Configuration options
17.14.2Notification codes
17.14.3Keyboard reaction
17.15 MENU: Menu widget
17.15.1Menu messages
17.15.2Data structures
17.15.3Configuration options
17.15.4Keyboard reaction
17.15.5MENU API
17.16 MESSAGEBOX: Message box widget
17.16.1Configuration options
17.16.2Keyboard reaction
17.17 MULTIEDIT: Multi line text widget
17.17.1Configuration options
17.17.2Notification codes
17.17.3Keyboard reaction
17.18 MULTIPAGE: Multiple page widget
17.18.1Configuration options
17.18.2Notification codes
17.18.3Keyboard reaction
17.19 PROGBAR: Progress bar widget
17.19.1Configuration options
17.19.2Keyboard reaction
17.20 RADIO: Radio button widget
17.20.1Configuration options
17.20.2Notification codes
17.20.3Keyboard reaction
17.20.4RADIO API
17.21 SCROLLBAR: Scroll bar widget
17.21.1Configuration options
17.21.2Notification codes
17.21.3Keyboard reaction
17.22 SLIDER: Slider widget
17.22.1Configuration options
17.22.2Notification codes
17.22.3Keyboard reaction
17.23 TEXT: Text widget
17.23.1Configuration options
17.23.2Keyboard reaction
17.23.3TEXT API
17.24 TREEVIEW: Treeview widget
17.24.1Description of terms
17.24.2Configuration options
17.24.3Notification codes
17.24.4Keyboard reaction
17.24.5TREEVIEW API routines related routines
17.25 WINDOW: Window widget
17.25.1Configuration options
17.25.2Keyboard reaction
18.1 Dialog basics
18.2 Creating a dialog
18.2.1 Resource table
18.2.2 Dialog procedure Initializing the dialog Defining dialog behavior
18.3 Dialog API
18.4 Dialog boxes
19.1 Introduction
19.2 Getting started
19.3 Creating a dialog
19.3.1 Selecting a parent widget
19.3.2 Resizing and positioning in the editor
19.3.3 Modifying the widget properties
19.3.4 Adding additional functions to a widget
19.3.5 Deleting a widget property
19.3.6 Deleting a widget
19.4 Saving the current dialog(s)
19.5 Output of the GUIBuilder
19.6 Modifying the C files
19.7 How to use the C files
20.1 What is a ’skin’?
20.2 From using API functions to skinning
20.3 Skinnable widgets
20.4 Using a skin
20.4.1 Runtime configuration
20.4.2 Compile time configuration
20.5 Simple changes to the look of the ’Flex’ skin
20.6 Major changes to the look of the ’Flex’ skin
20.6.1 The skinning callback mechanism
20.6.2 Changing the look of the default skin
20.6.3 List of commands
20.7 General skinning API
20.8.1 Configuration structure
20.8.2 Configuration options
20.8.3 Skinning API
20.13.4List of commands
20.14.1Configuration structure
20.14.2Configuration options
20.14.3Skinning API
20.14.4List of commands
20.15.1Configuration structure
20.15.2Configuration options
20.15.3Skinning API
20.15.4List of commands
20.16.1Configuration structure
20.16.2Configuration options
20.16.3Skinning API
20.16.4List of commands
21.1 How it works
21.1.1 Double buffering
21.1.2 Triple buffering
21.2 Requirements
21.3 Limitations
21.4 Configuration
21.4.1 LCD_X_Config()
21.4.2 LCD_X_DisplayDriver()
21.5 Automatic use of multiple buffers with the WM
21.6 Multiple buffer API
Virtual screen / Virtual pages
22.1 Introduction
22.2 Requirements
22.3 Configuration
22.4.1 Basic example
22.4.2 Real time example using the window manager
22.4.3 Dialog example using the window manager
22.5 Virtual screen API
Multi layer / multi display support
23.1 Introduction
23.1.1 Selecting a layer for drawing operations
23.1.2 Selecting a layer for a window Moving a window from one layer to an other
23.2 Using multi layer support
23.2.1 Transparency
23.2.2 Alpha blending
23.2.3 Hardware cursors
23.2.4 Multi layer example
23.3 Using multi display support
23.3.1 Enabling multi display support
23.3.2 Run-time screen rotation
23.3.3 Multi display example
23.4 Configuring multi layer support
23.5 Configuring multi display support
23.6 Multi layer API
Pointer Input Devices
24.1 Description
24.2 Pointer input device API
24.3 Mouse driver
24.3.1 Generic mouse API
24.3.2 PS2 mouse driver Using the PS2 mouse driver PS2 mouse driver API
26.2 Sprite API
27.1 Available cursors
27.2 Cursor API
28.1 Introduction
28.1.1 Quality of antialiasing
28.1.2 Antialiased Fonts
28.1.3 High-resolution coordinates
28.2 Antialiasing API
28.3 Control functions
28.4 Drawing functions
28.5 Examples
Foreign Language Support
29.1 Unicode
29.1.1 UTF-8 encoding
29.1.2 Unicode characters
29.1.3 UTF-8 strings Using U2C.exe to convert UTF-8 text into C-code
29.1.4 Unicode API UTF-8 functions Double byte functions
29.2 Arabic language support
29.2.1 Notation forms
29.2.2 Ligatures
29.2.3 Bidirectional text alignment
29.2.4 Requirements
29.2.5 How to enable Arabic support
29.2.6 Example
29.2.7 Font files used with Arabic text
29.3 Thai language support
29.3.1 Requirements
29.3.2 How to enable Thai support
29.3.3 Example
29.3.4 Font files used with Thai text
29.4 Shift JIS support
29.4.1 Creating Shift JIS fonts
30.1 Available display drivers
30.1.1 Driver file naming convention
30.1.2 Run-time configurable drivers
30.1.3 Compile-time configurable drivers
30.1.4 Available, but not yet migrated drivers
30.1.5 Special purpose drivers
30.2 CPU / Display controller interface
30.2.1 Direct interface
30.2.2 Indirect interface - Parallel bus Example routines for connection to I/O pins
30.2.3 Indirect interface - 4 pin SPI Example routines for connection to I/O pins
30.2.4 Indirect interface - 3 pin SPI Example routines for connection to I/O pins
30.2.5 Indirect interface - I2C bus Example routines for connection to I/O pins
30.3 Hardware interface configuration
30.3.1 Direct interface
30.3.2 Indirect interface Run-time configuration Compile-time configuration
30.4 Non readable displays
30.5 Display orientation
30.5.1 Driver based configuration of display orientation Run-time configuration Compile-time configuration
30.5.2 Function based configuration of display orientation
30.6 Display driver callback function
30.6.1 Commands passed to the callback function
30.7 Detailed display driver descriptions
30.7.1 GUIDRV_BitPlains
30.7.2 GUIDRV_Dist
30.7.3 GUIDRV_FlexColor
30.7.4 GUIDRV_IST3088
30.7.5 GUIDRV_Lin
30.7.6 GUIDRV_S1D13748
30.7.7 GUIDRV_S1D15G00
30.7.8 GUIDRV_SLin
30.7.9 GUIDRV_SPage
30.7.18GUIDRV_Template - Template for a new driver
30.8 LCD layer and display driver API
30.8.1 Display driver API
30.8.2 User defined routines
30.8.3 LCD layer routines Configuration group
31.1 Introduction
31.1.1 Requirements
31.1.2 Notes on this implementation
31.2 The VNC viewer
31.2.1 Starting the VNC viewer
31.3 emWin VNC server
31.3.1 Starting the emWin VNC server
31.3.2 How the server starts
31.3.3 Integration of the VNC server on the target
31.4 Requirements
31.5 Configuration options
31.6 VNC API
Timing- and execution-related functions
32.1 Timing and execution API
33.1 What needs to be configured?
33.2 Run-time- and compile-time configuration
33.3 Initialization process of emWin
33.4 Run-time configuration
33.4.1 Customizing GUIConf.c API functions to be used in GUI_X_Config()
33.4.2 Customizing LCDConf.c API functions to be used in LCD_X_Config()
33.4.3 Customizing GUI_X.c Timing routines Debugging routines Kernel interface routines
33.5 Compile time configuration
33.5.1 Customizing GUIConf.h Configuring the available features of emWin Default font and default color configuration Advanced GUI configuration options
33.5.2 Customizing LCDConf.h
33.6 Request available memory
34.1 Performance
34.1.1 Driver benchmark
34.1.2 Image drawing performance
34.2 Memory requirements
34.2.1 Memory requirements of the GUI components
34.2.2 Stack requirements
34.3 Memory requirements of example applications
35.1 Problems with tool chain (compiler, linker)
35.1.1 Compiler crash
35.1.2 Compiler warnings
35.1.3 Compiler errors
35.1.4 Linker problems
35.2 Problems with hardware/driver
35.3 Problems with API functions
35.4 Problems with the performance
35.5 Contacting support
35.6 FAQ’s
0 of .
Results for:
No results containing your search query
P. 1


Ratings: (0)|Views: 2,241|Likes:
Published by Valeriu Pîrţac

More info:

Published by: Valeriu Pîrţac on Dec 05, 2011
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





You're Reading a Free Preview
Pages 19 to 254 are not shown in this preview.
You're Reading a Free Preview
Pages 273 to 398 are not shown in this preview.
You're Reading a Free Preview
Pages 417 to 694 are not shown in this preview.
You're Reading a Free Preview
Pages 713 to 762 are not shown in this preview.
You're Reading a Free Preview
Pages 781 to 945 are not shown in this preview.

Activity (3)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
milind1707 liked this

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->