00001 /* 00002 * Copyright (c) 2002, Adam Dunkels. 00003 * All rights reserved. 00004 * 00005 * Redistribution and use in source and binary forms, with or without 00006 * modification, are permitted provided that the following conditions 00007 * are met: 00008 * 1. Redistributions of source code must retain the above copyright 00009 * notice, this list of conditions and the following disclaimer. 00010 * 2. Redistributions in binary form must reproduce the above 00011 * copyright notice, this list of conditions and the following 00012 * disclaimer in the documentation and/or other materials provided 00013 * with the distribution. 00014 * 3. The name of the author may not be used to endorse or promote 00015 * products derived from this software without specific prior 00016 * written permission. 00017 * 00018 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 00019 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 00020 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00021 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 00022 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00023 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 00024 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00025 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 00026 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 00027 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 00028 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00029 * 00030 * This file is part of the Contiki desktop environment 00031 * 00032 * $Id: libconio.h,v 1.2 2008/10/15 14:17:28 nvt-se Exp $ 00033 * 00034 */ 00035 00036 #ifndef __LIBCONIO_H__ 00037 #define __LIBCONIO_H__ 00038 00039 /* This function must be implemented specifically for the 00040 architecture: */ 00041 void ctk_arch_draw_char(char c, 00042 unsigned char xpos, 00043 unsigned char ypos, 00044 unsigned char reversedflag, 00045 unsigned char color); 00046 00047 /* Default definitions that should be overridden by calling module. */ 00048 #ifndef LIBCONIO_CONF_SCREEN_WIDTH 00049 #define LIBCONIO_SCREEN_WIDTH 40 00050 #else 00051 #define LIBCONIO_SCREEN_WIDTH LIBCONIO_CONF_SCREEN_WIDTH 00052 #endif /* LIBCONIO_SCREEN_WIDTH */ 00053 00054 #ifndef LIBCONIO_CONF_SCREEN_HEIGHT 00055 #define LIBCONIO_SCREEN_HEIGHT 25 00056 #else 00057 #define LIBCONIO_SCREEN_HEIGHT LIBCONIO_CONF_SCREEN_HEIGHT 00058 #endif /* LIBCONIO_CONF_SCREEN_HEIGHT */ 00059 00060 00061 00062 /* These are function declarations for functions implemented in libconio.c */ 00063 unsigned char wherex(void); 00064 unsigned char wherey(void); 00065 void clrscr(void); 00066 void bgcolor(unsigned char c); 00067 void bordercolor(unsigned char c); 00068 void screensize(unsigned char *x, unsigned char *y); 00069 void revers(unsigned char c); 00070 void cputc(char c); 00071 void cputs(char *str); 00072 void cclear(unsigned char length); 00073 void chline(unsigned char length); 00074 void cvline(unsigned char length); 00075 void gotoxy(unsigned char x, unsigned char y); 00076 void cclearxy(unsigned char x, unsigned char y, unsigned char length); 00077 void chlinexy(unsigned char x, unsigned char y, unsigned char length); 00078 void cvlinexy(unsigned char x, unsigned char y, unsigned char length); 00079 void cputsxy(unsigned char x, unsigned char y, char *str); 00080 void cputcxy(unsigned char x, unsigned char y, char c); 00081 void textcolor(unsigned char c); 00082 00083 00084 00085 #endif /* __LIBCONIO_H__ */