cipherdogs_logo_lib/
lib.rs

1//! Library CipherDogs logo for the operating system
2//!
3//! ![cipherdogs](screenshot.png)
4//!
5//! ## Usage
6//! ```rust
7//! use vga::colors::Color16;
8//! use vga::writers::{Graphics640x480x16, GraphicsWriter};
9//! use vga_figures::figures2d::Figures2D;
10//!
11//! use cipherdogs_logo_lib;
12//!
13//! let mode = Graphics640x480x16::new();
14//! mode.set_mode();
15//! mode.clear_screen(Color16::Black);
16//!
17//! let figures = Figures2D::new(mode);
18//!
19//! cipherdogs_logo_lib::draw(figures, Color16::White);
20//! ```
21#![no_std]
22
23use vga::colors::Color16;
24use vga::writers::Graphics640x480x16;
25use vga_figures::figures2d::Figures2D;
26
27const WIDTH: isize = 640;
28const HEIGHT: isize = 480;
29
30pub fn draw(figures: Figures2D<Graphics640x480x16>, color: Color16) {
31    let x = WIDTH / 2;
32    let y = HEIGHT / 2;
33    let ab = y - 50;
34    figures.ellipse(x, y, ab, ab, color);
35
36    let arr = [
37        160, 240, 200, 260, 160, 280, 220, 300, 180, 320, 240, 340, 200, 360, 260, 380, 340, 420,
38        420, 360, 420, 290, 490, 250, 490, 230, 480, 235, 470, 220, 465, 240, 415, 265, 425, 220,
39        445, 210, 455, 220, 460, 205, 490, 190, 475, 175, 475, 145, 445, 165, 380, 185, 330, 165,
40        290, 165, 250, 120, 250, 185, 200, 140, 210, 215,
41    ];
42
43    figures.polygon(&arr, color);
44
45    figures.text((x - 40) as usize, y as usize, "CipherDogs", color);
46    figures.text(
47        (x - 70) as usize,
48        (y + 16) as usize,
49        "Cyber-crypto team",
50        color,
51    );
52}