Changeset 90f5d64 in mainline for console/gcons.c
- Timestamp:
- 2006-06-03T14:54:51Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- dc5a0fe1
- Parents:
- 0861786
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
console/gcons.c
r0861786 r90f5d64 31 31 #include <async.h> 32 32 #include <stdio.h> 33 #include <sys/mman.h> 34 #include <string.h> 33 35 34 36 #include "console.h" 35 37 #include "gcons.h" 36 38 37 #define CONSOLE_TOP 5039 #define CONSOLE_TOP 65 38 40 #define CONSOLE_MARGIN 10 39 41 40 #define STATUS_SPACE 20 42 #define STATUS_START 120 43 #define STATUS_SPACE 5 41 44 #define STATUS_WIDTH 40 42 45 #define STATUS_HEIGHT 30 43 46 44 #define MAIN_COLOR 0x 11881147 #define MAIN_COLOR 0xffffff 45 48 46 49 static int use_gcons = 0; … … 146 149 } 147 150 151 static void draw_pixmap(char *logo, size_t size, int x, int y) 152 { 153 char *shm; 154 int rc; 155 156 /* Create area */ 157 shm = mmap(NULL, size, PROTO_READ | PROTO_WRITE, MAP_SHARED | MAP_ANONYMOUS, 0, 0); 158 if (shm == MAP_FAILED) 159 return; 160 161 memcpy(shm, logo, size); 162 /* Send area */ 163 rc = sync_send_2(fbphone, FB_PREPARE_SHM, (ipcarg_t)shm, 0, NULL, NULL); 164 if (rc) 165 goto exit; 166 rc = sync_send_3(fbphone, IPC_M_AS_AREA_SEND, (ipcarg_t)shm, 0, PROTO_READ, NULL, NULL, NULL); 167 if (rc) 168 goto drop; 169 /* Draw logo */ 170 send_call_2(fbphone, FB_DRAW_PPM, x, y); 171 drop: 172 /* Drop area */ 173 nsend_call(fbphone, FB_DROP_SHM, 0); 174 exit: 175 /* Remove area */ 176 munmap(shm, size); 177 } 178 179 extern char _binary_helenos_ppm_start[0]; 180 extern int _binary_helenos_ppm_size; 181 extern char _binary_nameic_ppm_start[0]; 182 extern int _binary_nameic_ppm_size; 148 183 void gcons_redraw_console(void) 149 184 { 150 185 int i; 186 size_t hsize = (size_t)&_binary_helenos_ppm_size; 151 187 152 188 if (!use_gcons) … … 156 192 set_style(MAIN_COLOR, MAIN_COLOR); 157 193 clear(); 194 draw_pixmap(_binary_helenos_ppm_start, (size_t)&_binary_helenos_ppm_size, xres-64, 0); 195 draw_pixmap(_binary_nameic_ppm_start, (size_t)&_binary_nameic_ppm_size, 5, 10); 196 158 197 159 198 for (i=0;i < CONSOLE_COUNT; i++) … … 185 224 /* Create status buttons */ 186 225 for (i=0; i < CONSOLE_COUNT; i++) { 187 cstatus_vp[i] = vp_create( CONSOLE_MARGIN+i*(STATUS_WIDTH+STATUS_SPACE),226 cstatus_vp[i] = vp_create(STATUS_START+CONSOLE_MARGIN+i*(STATUS_WIDTH+STATUS_SPACE), 188 227 CONSOLE_MARGIN, STATUS_WIDTH, STATUS_HEIGHT); 189 228 if (cstatus_vp[i] < 0)
Note:
See TracChangeset
for help on using the changeset viewer.