mirror of
https://github.com/servo/servo.git
synced 2025-08-04 13:10:20 +01:00
More colors
This commit is contained in:
parent
7efdd1e9dc
commit
0265bc4da2
1 changed files with 36 additions and 13 deletions
|
@ -107,30 +107,53 @@ fn main() {
|
||||||
comm::send(osmain_ch, get_draw_target(comm::chan(draw_target_po)));
|
comm::send(osmain_ch, get_draw_target(comm::chan(draw_target_po)));
|
||||||
let draw_target = comm::recv(draw_target_po);
|
let draw_target = comm::recv(draw_target_po);
|
||||||
|
|
||||||
|
let red_color = {
|
||||||
|
r: 1f as azure::AzFloat,
|
||||||
|
g: 0f as azure::AzFloat,
|
||||||
|
b: 0f as azure::AzFloat,
|
||||||
|
a: 0.8f as azure::AzFloat
|
||||||
|
};
|
||||||
|
let red_pattern = AzCreateColorPattern(ptr::addr_of(red_color));
|
||||||
|
|
||||||
|
let green_color = {
|
||||||
|
r: 0f as azure::AzFloat,
|
||||||
|
g: 1f as azure::AzFloat,
|
||||||
|
b: 0f as azure::AzFloat,
|
||||||
|
a: 0.8f as azure::AzFloat
|
||||||
|
};
|
||||||
|
let green_pattern = AzCreateColorPattern(ptr::addr_of(green_color));
|
||||||
|
|
||||||
while !comm::peek(exit_po) {
|
while !comm::peek(exit_po) {
|
||||||
let color = {
|
let red_rect = {
|
||||||
r: 1f as azure::AzFloat,
|
|
||||||
g: 1f as azure::AzFloat,
|
|
||||||
b: 1f as azure::AzFloat,
|
|
||||||
a: 0.5f as azure::AzFloat
|
|
||||||
};
|
|
||||||
let pattern = AzCreateColorPattern(ptr::addr_of(color));
|
|
||||||
let rect = {
|
|
||||||
x: 100f as azure::AzFloat,
|
x: 100f as azure::AzFloat,
|
||||||
y: 100f as azure::AzFloat,
|
y: 100f as azure::AzFloat,
|
||||||
width: 100f as azure::AzFloat,
|
width: 200f as azure::AzFloat,
|
||||||
height: 100f as azure::AzFloat
|
height: 200f as azure::AzFloat
|
||||||
};
|
};
|
||||||
AzDrawTargetFillRect(
|
AzDrawTargetFillRect(
|
||||||
draw_target,
|
draw_target,
|
||||||
ptr::addr_of(rect),
|
ptr::addr_of(red_rect),
|
||||||
unsafe { unsafe::reinterpret_cast(pattern) });
|
unsafe { unsafe::reinterpret_cast(red_pattern) }
|
||||||
AzReleaseColorPattern(pattern);
|
);
|
||||||
|
let green_rect = {
|
||||||
|
x: 200f as azure::AzFloat,
|
||||||
|
y: 200f as azure::AzFloat,
|
||||||
|
width: 200f as azure::AzFloat,
|
||||||
|
height: 200f as azure::AzFloat
|
||||||
|
};
|
||||||
|
AzDrawTargetFillRect(
|
||||||
|
draw_target,
|
||||||
|
ptr::addr_of(green_rect),
|
||||||
|
unsafe { unsafe::reinterpret_cast(green_pattern) }
|
||||||
|
);
|
||||||
let draw_po = comm::port();
|
let draw_po = comm::port();
|
||||||
comm::send(osmain_ch, draw(comm::chan(draw_po)));
|
comm::send(osmain_ch, draw(comm::chan(draw_po)));
|
||||||
comm::recv(draw_po);
|
comm::recv(draw_po);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AzReleaseColorPattern(red_pattern);
|
||||||
|
AzReleaseColorPattern(green_pattern);
|
||||||
|
|
||||||
let exit_confirm_ch = comm::recv(exit_po);
|
let exit_confirm_ch = comm::recv(exit_po);
|
||||||
comm::send(exit_confirm_ch, ());
|
comm::send(exit_confirm_ch, ());
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue