ChrisOS Research ProjectOperating systems · language systems · graphics · machine emulation
DOCUMENTATION ARCHIVEMAIN BRANCH
ChrisOS/Referência de fonte: APPS/PAINT/PAINT.CC

Referência de fonte: APPS/PAINT/PAINT.CC

Registro determinístico da fonte. O conteúdo completo do arquivo é reproduzido abaixo; esta página não substitui a interpretação arquitetural dos capítulos autorais.

Identidade do arquivo

Campo Valor
Path APPS/PAINT/PAINT.CC
Lines 49
Bytes 866
SHA-256 2af830ca0033859c3ac4df084eb6cad206e1e8fc13595edd56e6a69fac0251db
ChrisOS revision da3df29cb397932c43d32373871fb9380e688ade

Dependências sintáticas detectadas

Linha Include
— Nenhum include de preprocessor detectado.

Símbolos detectados

Linha Símbolo
7 main

Fonte completa

O bloco seguinte é o arquivo textual integral na revisão indicada. Não há elisão, abreviação ou paráfrase.

int g_doc;
int g_zoom;
int g_pan;
int g_undo;
int g_prev;

void main() {
  int x;
  int y;
  g_doc = malloc(64 * 64);
  g_zoom = 2;
  g_pan = 0;
  g_undo = 0;
  g_prev = 0;
  viewport(200, 160);
  x = 0;
  while (x < 64 * 64) {
    storeb(g_doc + x, 40);
    x = x + 1;
  }
  while (1) {
    fillrgb(0, 0, 200, 160, 0x00101820);
    y = 0;
    while (y < 64) {
      x = 0;
      while (x < 64) {
        fillrgb(g_pan + x * g_zoom, y * g_zoom, g_zoom, g_zoom,
                loadb(g_doc + y * 64 + x) * 0x010101);
        x = x + 1;
      }
      y = y + 1;
    }
    if (mouse_btn()) {
      if (g_prev == 0) {
        g_undo = loadb(g_doc);
        storeb(g_doc, 200);
      }
      g_prev = 1;
    }
    if (mouse_btn() == 0) {
      if (g_prev == 1) {
        storeb(g_doc, g_undo);
      }
      g_prev = 0;
    }
    text(8, 140, "paint", 0x00FFFFFF);
  }
}

Papel deste registro

O atlas garante rastreabilidade arquivo-a-arquivo. Responsabilidade, invariantes, ownership, concorrência, segurança, desempenho e interação entre subsistemas pertencem aos capítulos autorais e devem citar este arquivo quando aplicável.

Registro do documento ID: source-2af830ca0033859c Reviewed source: da3df29cb397 Class: generated-source-reference