Exemple #1
0
static void Scroll() {
    for(unsigned int y = 1; y < VGA_BUFFER_HEIGHT; ++y) {
        for(unsigned int x = 0; x < VGA_BUFFER_WIDTH; ++x) {
            VgaEntry entry = GetEntryAt(x, y);
            SetEntryAt(x, y - 1, entry);
        }
    }
    VgaEntry whitespace = ConstructVgaEntry(' ', current_color_scheme);
    for(unsigned int x = 0; x < VGA_BUFFER_WIDTH; ++x) {
        SetEntryAt(x, VGA_BUFFER_HEIGHT - 1, whitespace);
    }
    MoveCursorAt(current_x, current_y - 1);
}
xptiInterfaceEntry*
xptiTypelibGuts::GetEntryAt(PRUint16 i)
{
    static const nsID zeroIID =
        { 0x0, 0x0, 0x0, { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } };

    NS_ASSERTION(mHeader, "bad state");
    NS_ASSERTION(i < GetEntryCount(), "bad index");

    xptiInterfaceEntry* r = mEntryArray[i];
    if (r)
        return r;

    XPTInterfaceDirectoryEntry* iface = mHeader->interface_directory + i;

    xptiWorkingSet* set =
        xptiInterfaceInfoManager::GetSingleton()->GetWorkingSet();

    if (iface->iid.Equals(zeroIID))
        r = set->mNameTable.Get(iface->name);
    else
        r = set->mIIDTable.Get(iface->iid);

    if (r)
        SetEntryAt(i, r);

    return r;
}
Exemple #3
0
void VgaTerminalPut(char c) {
    switch(c) {
        case '\n':
            return AdvanceCursor(VGA_BUFFER_WIDTH - current_x);
        default:
            SetEntryAt(current_x, current_y,
                    ConstructVgaEntry(c, current_color_scheme));
            AdvanceCursor(1);
    }
}
Exemple #4
0
void VgaTerminalInit() {
    MoveCursorAt(0, 0);
    VgaTerminalSwitchColorScheme(default_color_scheme);
    VgaEntry whitespace = ConstructVgaEntry(' ', current_color_scheme);
    for (unsigned int y = 0; y < VGA_BUFFER_HEIGHT; y++) {
        for (unsigned int x = 0; x < VGA_BUFFER_WIDTH; x++) {
            SetEntryAt(x, y, whitespace);
        }
    }
}