Example #1
0
int main(){
    c = Start();


    /* Save current attributes */
    /*for (int i=0;i<255;i++){
       printf("%d [%c]\n",i,i);
    }*/
    char name[80];
    printf("Qual arquivo?\n");
    scanf("%s",name);
    SetPos(c,0,0);
    FileHandler *file = FileHandler_LoadFile(name);
    Java *j = JAVA_createJava(file);


    SetColor(c,0x79);
    printf("%c",201);
    for (int i=0;i<SIZEX-2;i++){
        printf("%c",205);
    }
    printf("%c",187);
    for (int i=0;i<SIZEY;i++){
        SetPos(c,30,i+1);
        printf("%c",186);
        SetPos(c,0,i+1);
        printf("%c",186);
        SetPos(c,SIZEX-1,i+1);
        printf("%c",186);
    }
    printf("%c",200);
    for (int i=0;i<SIZEX-2;i++){
        printf("%c",205);
    }
    printf("%c",188);
    SetColor(c,0x79);
    for (int y=1;y<SIZEY+1;y++){

        for (int x=1;x<SIZEX-1;x++){
           if (x != 30){
            SetPos(c,x,y);
            printf(" ");
           }
        }
    }
    SetPos(c,8,1);
    SetColor(c,0x7c);
    printf("Atributos:");
    DrawAttr(j);
    FileHandler_free(file);
    JAVA_freeJava(j);
    //http://msdn.microsoft.com/en-us/library/windows/desktop/ms682088%28v=vs.85%29.aspx#_win32_character_attributes
    Close(c);
    return 0;
}
Example #2
0
//---------------------------------------------------------------------------------------
void CMenuItem::UpdateState(int _state)
{
	if (state != _state) {
		state = _state;

		int size = strlen(data);
		if (param->GetType() == PTYPE_STRING)
			size = maxLen;
		DrawAttr(x2, y, colors[state], size * 6);
	}
}
Example #3
0
//---------------------------------------------------------------------------------------
void CMenuItem::UpdateData(bool force)
{
	Redraw(true);

	if (param != NULL) {
		int delNumber = data.Length();

		param->GetValueText(data);
		int diff = data.Length() - maxLen;
		if (diff == 1)
			maxLen++;
		else if (diff > 1) {
			data.Delete(0, ++diff);
			data.Insert(0, "\34");
		}

		Redraw();

		diff = data.Length();
		delNumber -= diff;
		if (delNumber > 0) {
			int xx = x2 + (diff * 6);
			DrawStr(xx + 1, y, "", delNumber);

			if (param->GetType() == PTYPE_STRING)
				delNumber = maxLen - delNumber;

			delNumber *= 6;
			byte mod = xx & 0x07;
			if (mod > 0)
				xx += (8 - mod);

			DrawAttr(xx, y, colors[0], delNumber);
		}
	}
	else if (force)
		Redraw();
}
Example #4
0
//---------------------------------------------------------------------------------------
void CMenuItem::UpdateData(const char *_data)
{
	if (strncmp(data, _data, strlen(_data)) != 0) {
		int delNumber = data.Length() - strlen(_data);

		data = _data;
		Redraw();

		if (delNumber > 0) {
			int xx = x2 + (data.Length() * 6);
			DrawStr(xx + 1, y, "", delNumber);

			if (param->GetType() != PTYPE_STRING) {
				delNumber *= 6;
				byte mod = xx & 0x07;
				if (mod > 0)
					xx += (8 - mod);

				DrawAttr(xx, y, colors[0], delNumber);
			}
		}
	}
}
Example #5
0
//---------------------------------------------------------------------------------------
void CMenuItem::Redraw(bool justInit)
{
	char *name = (char *) origName;
	size = strlen(origName);

	y = origY;
	char *ptr = name;
	while (*ptr != 0) {
		if (*ptr++ == '\n') {
			byte offset = (ptr - name);
			DrawStrAttr(x, y, name, colors[3], offset - 1);
			name += offset;
			size -= offset;
			y++;
		}
	}

	DrawStrAttr(x, y, name, colors[3], size);

	x2 = x + (size * 6);
	byte mod = x2 & 0x07;
	if (mod > 0)
		x2 += (8 - mod);

	if (justInit) {
		maxLen = (256 - x2) / 6;
		return;
	}

	if (param->GetType() == PTYPE_STRING) {
		DrawStr(x2 + 1, y, data, maxLen);
		DrawAttr(x2, y, colors[state], 252 - x2);
	}
	else
		DrawStrAttr(x2 + 1, y, data, colors[state]);
}