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; }
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); } }
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); } } }