ctk-term-int.h

来自「伟大的Contiki工程, 短小精悍 的操作系统, 学习编程不可不看」· C头文件 代码 · 共 100 行

H
100
字号
/* * Copyright (c) 2005, Swedish Institute of Computer Science * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. Neither the name of the Institute nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * This file is part of the Contiki operating system. * * @(#)$Id: ctk-term-int.h,v 1.1 2007/05/26 21:54:33 oliverschmidt Exp $ */#ifndef __CTK_TERM_INT_H__#define __CTK_TERM_INT_H__/* Color definitions */#define TERM_BACKGROUNDCOLOR 0#define TERM_WINDOWCOLOR    1#define TERM_SEPARATORCOLOR 7 /*(TERM_WINDOWCOLOR + 6)*/#define TERM_LABELCOLOR     13 /*(TERM_SEPARATORCOLOR + 6)*/#define TERM_BUTTONCOLOR    19 /*(TERM_LABELCOLOR + 6)*/#define TERM_HYPERLINKCOLOR 25 /*(TERM_BUTTONCOLOR + 6)*/#define TERM_TEXTENTRYCOLOR 31 /*(TERM_HYPERLINKCOLOR + 6)*/#define TERM_ICONCOLOR      37 /*(TERM_TEXTENTRYCOLOR + 6)*/#define TERM_MENUCOLOR      43 /*(TERM_ICONCOLOR + 6)*/#define TERM_OPENMENUCOLOR  44/*(TERM_MENUCOLOR + 1)*/#define TERM_ACTIVEMENUCOLOR 45 /*(TERM_OPENMENUCOLOR + 1) *//* Structure describing an updated region */struct ctk_term_update {  struct ctk_term_update *next;#define UPDATE_NONE  0#define UPDATE_PARTS 1#define UPDATE_FULL  2  unsigned char type;  unsigned char x, y;  unsigned char w, h;  };/* Character sequence parsing states */enum { ANS_IDLE, ANS_ESCSEQ,ANS_ESCSEQ_1,ANS_SS3, ANS_CTRLSEQ};struct ctk_term_state {  unsigned char type;  unsigned char state;  unsigned char height, width;  /* Variables used when sending screen updates. */  unsigned char x, y, x1, y1, x2, y2;  unsigned char w, h;  unsigned char c1, c2;#define CTK_TERM_MAX_UPDATES 8    struct ctk_term_update *updates_current;  struct ctk_term_update *updates_pending;  struct ctk_term_update *updates_free;  struct ctk_term_update updates_pool[CTK_TERM_MAX_UPDATES];  /* Variables used when parsing input sequences */  unsigned char inputstate;#define CTK_TERM_CTRLBUFLEN 5  unsigned char ctrlbuf[CTK_TERM_CTRLBUFLEN+1];  unsigned char ctrlCnt;};struct ctk_term_update * ctk_term_update_alloc(struct ctk_term_state *vs);void ctk_term_update_free(struct ctk_term_state *ts, struct ctk_term_update *a);void ctk_term_update_remove(struct ctk_term_state *ts, struct ctk_term_update *a);void ctk_term_update_add(struct ctk_term_state *ts, struct ctk_term_update *a);struct ctk_term_update * ctk_term_update_dequeue(struct ctk_term_state *ts);void ctk_term_input_init();#endif /* __CTK_TERM_INT_H__ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?