You are on page 1of 4

DESIGN DOCUMENT FOR PORTAL

Definition: Portal is a type of screen which gives flexibility to the user to switch
between various programs and applications present on it. The GUI of the portal should be
interactive and user friendly. It should also have a impressive look and feel. This screen
may consist of the following items.

1. Title: The title is actually a brief description of what the screen is all about.
2. Video: This item is used to display the currently playing channel.
3. Menu List: This will help the user to go interactive between different applications
related to this screen.
4. Advertisement: To display advertisements of sponsors.

Design: The portal screen can be made with following gadgets.


1. IMAGE GADGET: This gadget will be used for the title part of portal
screen.
2. VIDEO SCALING GADGET: This gadget will be used for the video part of
portal screen.
3. MENU ITEM GADGET: This gadget will be used to represent individual
item in the menu list.
4. MENU GROUP GADGET: This gadget will group all the menu gadgets and
provide navigation between them.
5. ADVERTISMENT GADGET: This gadget will be used to display
advertisements of the sponsors.
6. PORTAL SCREEN GADGET: This gadget will be handle portal screen.
7. TIMER GADGET: This gadget will be used for the timers used in the Portal.
8. ANIMATION GADGET: This gadget will handle animation between two
menu transitions.
9. CHANNEL INFO:
10. LABEL GADGET
11.

Working of the gadgets used to make the portal screen:


1. IMAGE GADGET: This gadget will show the title of the screen. It may
either have an image with title on it or just a label of the title.
The proposed resource structure should be:

typedef struct
{
int x_pos; /* x co-ordinate of image */
int y_pos; /* y co-ordinate of image */
char *ch; /* title */
pixmap image_ID; /* Image ID of the title*/
} Image_resource;

2. VIDEO GADGET: This gadget will show the related video of the screen. It
will contain two windows. One is the video window and other is the channel
info window. The channel info will display the channel name and number.
Also there should be channel change on up, down navigation.
The proposed resource structure should be:

typedef struct
{
int x; /* x co-ordinate of video gadget */
int y; /* y co-ordinate of vide gadget */
int width; /* width of the video window*/
int height; /* height of the video window */
pixmap ch_up_arrow__ID; /*image ID for the up arrow
on the channel information bar*/
pixmap ch_down _arrow_ID; /* image ID for the down arrow on
the channel information bar */
channel number and name attr are missing!

} Video_resource;

3. MENU ITEM GADGET: This gadget will represent individual item in the
menu list on the screen. It will contain 3 n pixmaps of same image of different
sizes. Also it contains the name of the item and its display position in the
beginning. It should contain a flag to indicate if any program is associated
with it or not. The proposed resource structure should be:

typedef struct
{
pixmap small_image_ID; /*ID of the smallest image*/
pixmap medium_image_ID; /*ID of the Bigger image*/
pixmap large_image_ID; /*ID of the largest image*/ Use ID
List
char *ch; /* name of the item */
int currentitem_postion; /* position of the item in the list*/
bool program_exist; /*flag 0 – if selectable 1- if not
selectable*/ Flag always on top!

} Menu_resource;
4. MENU GROUP GADGET: This gadget will represent the menu list on the
screen. It will contain list of IDs of total menu gadgets present. Apart of this it
will contain count of total IDs, x, y coordinate of the focused position, x, y
relative positions of the next image, and maximum number of states each
menu gadget should have.
The proposed resource structure should be:

typedef struct
{
ID id_list[]; /* list of IDs of all the present
Items minimum 5*/ Why 5? 1-n
required!
int max_ids; /* maximum number of items in the
list*/
int x; /*x co-ordinate of the focused
position.*/
int y; /*y co-ordinate of the focused
position.*/
int x_disp; /*relative x position of next
image from the focused position */
int y_disp; /* relative y position of next
image from the focused position */
int max_state; /*maximum states of an item */

} Menu_group_resource;

5. ADVERTISEMENT GADGET: This gadget will show the advertisements


of the sponsors on the screen. This gadget can be of three types: Static,
Dynamic or Interactive. It will contain Type, x ,y coordinate, list of IDs of
images if the type is Dynamic and a flag to show if program exist if type is
Interactive.
The proposed resource structure should be:

typedef struct
{
int type; /* type of advertisement:0- static,
1-dymanic, 2-interactive*/
int x; /* x position of gadget*/
int y; /* y position of gadget */ ID Count
required!
ID id_list[]; /* list of ids of images if type is
sDynamic*/
bool program_exist ; /* 0- program exist 1- program do
not exist */
} Advertisement_resource;