1
0

Implement BGCOLOR

This commit is contained in:
otya128
2017-07-22 13:16:11 +09:00
parent 5995fcb7b4
commit ad67a5d187
2 changed files with 31 additions and 1 deletions

View File

@@ -34,6 +34,7 @@ class BG
int chipWidth = 16; int chipWidth = 16;
int chipHeight = 16; int chipHeight = 16;
int display; int display;
int bgcolor;
this(PetitComputer pc) this(PetitComputer pc)
{ {
chip[] = BGChip(0); chip[] = BGChip(0);
@@ -44,6 +45,7 @@ class BG
scaley = 1; scaley = 1;
r = 0; r = 0;
show = true; show = true;
bgcolor = 0xffffffff;
} }
void render(int display, float disw, float dish) void render(int display, float disw, float dish)
{ {
@@ -53,7 +55,11 @@ class BG
disw /= 2; disw /= 2;
dish /= 2; dish /= 2;
float z = offsetz; float z = offsetz;
glColor3f(1.0, 1.0, 1.0); {
ubyte r, g, b, a;
petitcom.RGBRead(bgcolor, r, g, b, a);
glColor4ub(r, g, b, 255);
}
petitcom.chRenderingDisplay(display, clipx, clipx, clipx2 - clipx + 1, clipy2 - clipy + 1); petitcom.chRenderingDisplay(display, clipx, clipx, clipx2 - clipx + 1, clipy2 - clipy + 1);
glMatrixMode(GL_MODELVIEW); glMatrixMode(GL_MODELVIEW);
glLoadIdentity(); glLoadIdentity();
@@ -278,4 +284,12 @@ class BG
} }
import otya.smilebasic.vm; import otya.smilebasic.vm;
Callback callback; Callback callback;
public void color(int color)
{
this.bgcolor = color;
}
public int color()
{
return this.bgcolor;
}
} }

View File

@@ -2782,6 +2782,22 @@ class BuiltinFunction
throw new IllegalFunctionCall("BGUNC"/*, 2*/); throw new IllegalFunctionCall("BGUNC"/*, 2*/);
p.getBG(layer).callback = callback; p.getBG(layer).callback = callback;
} }
static void BGCOLOR(PetitComputer p, int layer, int color)
{
if (!p.isValidLayer(layer))
{
throw new OutOfRange("BGFUNC", 1);
}
p.getBG(layer).color = color;
}
static int BGCOLOR(PetitComputer p, int layer)
{
if (!p.isValidLayer(layer))
{
throw new OutOfRange("BGFUNC", 1);
}
return p.getBG(layer).color;
}
static void EFCON() static void EFCON()
{ {
} }