| 1 | // WARNING: This file is generated, do not modify it directly! |
| 2 | // Modify `tools/generate-drawing-examples/main.rs` and run `just generate-drawing-examples` instead. |
| 3 | // |
| 4 | //! # Drawing examples |
| 5 | //! |
| 6 | //! ## Draw a single pixel |
| 7 | //! |
| 8 | //! <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAABNElEQVR4nO3RsQkAMQwEwf/+i7YduQEHi2AGlOvY/yMlQEyAmAAxAWICxASICRATICZATICYADEBYgLEBIgJEBMgJkBMgJgAMQFiAsQEiAkQEyAmQEyAmAAxAWICxASICRATICZATICYADEBYgLEBIgJEBMgJkBMgJgAMQFiAsQEiAkQEyAmQEyAmAAxAWICxASICRATICZATICYADEBYgLEBIgJEJsfYJ0bvGPs45cAvBAgJkBMgJgAMQFiAsQEiAkQEyAmQEyAmAAxAWICxASICRATICZATICYADEBYgLEBIgJEBMgJkBMgJgAMQFiAsQEiAkQEyAmQEyAmAAxAWICxASICRATICZATICYADEBYgLEBIgJEBMgJkBMgJgAMQFiAsQEiAkQEyAmQEyAmAAxAWIbyaYCgYRUdd0AAAAASUVORK5CYII=" style="float: right; margin-left: 1rem; margin-bottom: 1rem;"> |
| 9 | //! |
| 10 | //! This example draws a single green pixel. |
| 11 | //! |
| 12 | //! For cases where many pixels are drawn it is preferable to implement |
| 13 | //! a custom iterator instead of calling `Pixel::draw` for each pixel, because |
| 14 | //! some display drivers implement accelerated drawing of iterators. |
| 15 | //! |
| 16 | //! <div style="clear: both;"></div> |
| 17 | //! |
| 18 | //! ```ignore |
| 19 | //! use embedded_graphics::{pixelcolor::Rgb888, prelude::*}; |
| 20 | //! |
| 21 | //! Pixel(Point::new(32, 32), Rgb888::GREEN).draw(&mut display)?; |
| 22 | //! ``` |
| 23 | //! ## Draw a line |
| 24 | //! |
| 25 | //! <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAABxklEQVR4nO3RQW7bQBAAweT/j04C+OhQkM2d7ZVcBfC6nJn+/YuUADEBYgLEBIgJEBMgJkBMgJgAMQFiAsQEiAkQEyAmQEyAmAAxAWICxASICRATICZATICYADEBYgLEBIgJEBMgJkBMgJgAMQFiAsQEiAkQEyAmQGxTgD//vm0/eymbbiLAlU03+QhwZdMQR9q0uwBXNu3+OMBnm8Y6wKZNBbgyvulXT//Y+LjbjW8kwGPjG60N8Nn4AsPG5xfgsfH5pwNcGV9skfE5BXhscM7q9FcGV71hcCoBnjE41WkBrgye4AmDfxfgGVv/LslnO/8lwH/s/Nelnxxm4s0vE+A4PyfJ/RdGCHCo08LcP9/9F7YS4Dhtkvvnu/9CTIBDTYdZdbhV7xxHgOOsTbLqcKveeQECHOp7YVYdbtU7L0yA4zxOsvZka197EwIc6iPM2pOtfe3NCfCGBIgJEBMgJkBMgJgAMQFiAsQEiAkQEyAmQEyAmAAxAWICxASICRATICZATICYADEBYgLEBIgJEBMgJkBMgJgAMQFiAsQEiAkQEyAmQEyAmAAxAWICxASICRATICZATICYADEBYgLEBIgJEBMg9hfefCSBHuP7aAAAAABJRU5ErkJggg==" style="float: right; margin-left: 1rem; margin-bottom: 1rem;"> |
| 26 | //! |
| 27 | //! This example draws a red line with 8px stroke. |
| 28 | //! |
| 29 | //! <div style="clear: both;"></div> |
| 30 | //! |
| 31 | //! ```ignore |
| 32 | //! use embedded_graphics::{ |
| 33 | //! pixelcolor::Rgb888, |
| 34 | //! prelude::*, |
| 35 | //! primitives::{Line, PrimitiveStyle}, |
| 36 | //! }; |
| 37 | //! |
| 38 | //! Line::new(Point::new(16, 24), Point::new(51, 34)) |
| 39 | //! .into_styled(PrimitiveStyle::with_stroke(Rgb888::RED, 8)) |
| 40 | //! .draw(&mut display)?; |
| 41 | //! ``` |
| 42 | //! ## Draw a rectangle |
| 43 | //! |
| 44 | //! <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAABkUlEQVR4nO3RMWoDURAEUev+h5adycomcFPIvAcL+5MOph5fpASICRATICZATICYADEBYgLEBIgJEBMgJkBMgJgAMQFiAsQEiAkQEyAmQEyAmAAxAWICxASICRATICZATICYADEBYgLEBIgJEBMgJkBMgJgAMQFiAsQEiAkQEyAmQEyA2DDA8+f7L3Zn2i0LcLJbFuBktyzAyW75LcDj+fv1GZ6P13Fef39ttyzAyW5ZgJPdsgAnu2UBTnbLApzslgU42S0LcLJbFuBktyzAyW5ZgJPdsgAnu2UBTnbLApzslgU42S0LcLJbFuBktyzAyW5ZgJPdsgAnu2UBTnbLApzslgU42S0LcLJbFuBktyzAyW5ZgJPdsgAnu+W3AJ9ud6bdsgAnu2UBTnbLApzsljkRICZATICYADEBYgLEBIgJEBMgJkBMgJgAMQFiAsQEiAkQEyAmQEyAmAAxAWICxASICRATICZATICYADEBYgLEBIgJEBMgJkBMgJgAMQFiAsQEiAkQEyAmQEyAmAAxAWLfWYd4geVYJIUAAAAASUVORK5CYII=" style="float: right; margin-left: 1rem; margin-bottom: 1rem;"> |
| 45 | //! |
| 46 | //! This example draws a rectangle with a 2px thick red stroke and cyan fill color. |
| 47 | //! |
| 48 | //! <div style="clear: both;"></div> |
| 49 | //! |
| 50 | //! ```ignore |
| 51 | //! use embedded_graphics::{ |
| 52 | //! pixelcolor::Rgb888, |
| 53 | //! prelude::*, |
| 54 | //! primitives::{PrimitiveStyleBuilder, Rectangle}, |
| 55 | //! }; |
| 56 | //! |
| 57 | //! Rectangle::new(Point::new(16, 24), Size::new(32, 16)) |
| 58 | //! .into_styled( |
| 59 | //! PrimitiveStyleBuilder::new() |
| 60 | //! .stroke_width(2) |
| 61 | //! .stroke_color(Rgb888::RED) |
| 62 | //! .fill_color(Rgb888::CYAN) |
| 63 | //! .build(), |
| 64 | //! ) |
| 65 | //! .draw(&mut display)?; |
| 66 | //! ``` |
| 67 | //! ## Draw a circle |
| 68 | //! |
| 69 | //! <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAACV0lEQVR4nO3RUU7FMAwFUdj/ooF+UVUhkidpblrmSPzZKc/z+aEoA4QZIMwAYQYIM0CYAcIMEGaAMAOEGSDMAGEGCDNAmAHCDBBmgDADhBkgzABhBggzQJgBwgwQZoAwA4QZIMwAYQYIM0CYAcIMEPaCAF8/fxV7/eS9/hvEAItUD12VOUXmq4gBAu4++l/WnWXdlxADxKROf7biOCu+gRggYIej/+WuQ931LmKAmJ1Pfzb/XPNfRAwQ85TTn8082sy3EAPEPPH0Z3NON+cVxACHOa8gBjjMeQUxwGHOK0VPP/3Z6AFH9xED/BrdL3rT6c/4GfkmYoArvokY4IpvIga44ptFbz39GTkm2UEM0EZ2EAO0kR3EAG1kBzFAG9lBDNBGdhADtJEdxABtZKfoP5z+rHbS2jRigJ7aNGKAnto0YoCe2jRigJ7aNGKAnto0YoCe2jRigJ7aNGKAnto0YoCe2jRigJ7aNGKAnto0YoCe2jRigJ7aNGKAnto0YoCe2vSA/5CBHJPsIAZoIzuIAdrIDmKANrKDGKCN7CAGaCM7iAHayA5igDayM+CtGfgZ+SZigCu+iRjgim8iBrjimwPelGH0gKP7iAF+je4PeHqGOaeb8wpigMOcVxADHOa8ghjgMOeVAU/MMPNoM99CDLCFp2SYf675LyIG2MLOGe461F3vIgbYyA4xVhxnxTcQA2whlWHdWdZ9CTHARu6OkTlF5quIATZVDbPXT97rv0EMoAEGCDNAmAHCDBBmgDADhBkgzABhBggzQJgBwgwQZoAwA4QZIOwbbHdQgYxk5xMAAAAASUVORK5CYII=" style="float: right; margin-left: 1rem; margin-bottom: 1rem;"> |
| 70 | //! |
| 71 | //! This example draws a circle with no stroke and a solid blue fill. |
| 72 | //! |
| 73 | //! <div style="clear: both;"></div> |
| 74 | //! |
| 75 | //! ```ignore |
| 76 | //! use embedded_graphics::{ |
| 77 | //! pixelcolor::Rgb888, |
| 78 | //! prelude::*, |
| 79 | //! primitives::{Circle, PrimitiveStyle}, |
| 80 | //! }; |
| 81 | //! |
| 82 | //! Circle::new(Point::new(16, 16), 40) |
| 83 | //! .into_styled(PrimitiveStyle::with_fill(Rgb888::BLUE)) |
| 84 | //! .draw(&mut display)?; |
| 85 | //! ``` |
| 86 | //! ## Draw an ellipse |
| 87 | //! |
| 88 | //! <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAADDklEQVR4nO3R26rlMAwD0Jn//+gZQaGU3X0OiWVbaaoFfXPji/7+MSkHIOYAxByAmAMQcwBiDkDMAYg5ADEHIOYAxByAmAMQcwBiDkDMAYg5ADEHIOYAxByAmAMQcwBiDkDMAYg5ADEHIOYAxByAmAMQcwBiawfwD1+GhbdceDRwAE2yDj1rge0XGAEcQKvxc2dN199xWHtD6D9Hf8dhXQ1/P0HXFJ8WmKqlCSyw6hcLTFXZ5Kf1Knuy2mcuexjal0nQPnPNw/c1avrUatmi4EloGb1cyxZ5T97HPeR10CjeK+kZKB5UpnivjGfuI2a8uqKCTekHoGCsRRVsyj1QMNADpG5N/AqpozxG6tbEr3AdhXvpeZJ2J36FpCEeKWn36K9J7R+PvkPoJ6Abb4K+w/xP15aH+Tf2QV9jshzolluhrzFZDteW83/vibjJZDkQzbZF3GSyHIhm2yJuMlkORLNtETeZKSfavELoPsOFEGrwIqH7DBdCqMGLhO4zXAihBi8Sus9wIYQavEjoPsOFEGrwIqH7DBdCqMGLhO4zXAihBi8Sus9wIYQavEjoPsOFEGrwIqH7DBdCqMGLhO4zXAihBi8Sus9w4SnUZnPETSbLgWi2LeImk+VANNsWcZPJciCabYu4yWQ5XJsd5t/YB32NyXKgW26FvsZk+enaOPrGDug7hH4CuvEm6DuEfjrR7R8saXfiV0ga4pGSdid+hesQB+69Z0jdmvgVUkd5jNStiV9PqQMtrWBT+gEoGGtRBZvSD5zuwx3yOmgU75X0DBQPKlO8V9IzH+5D1/Sp1bJFwZPQMnq5li0KnjzdFzhU9mS1z1z2MLQvk6B95rKHP/y02KFrik8LTNXSBBZY9YsFpmpp8uH3ta+ypuvvOKy9IfSfo7/jsPaGX40fKNcC2y8wAjiARWUFs/CWC48GDsCqOQAxByDmAMQcgJgDEHMAYg5AzAGIOQAxByDmAMQcgJgDEHMAYg5AzAGIOQAxByDmAMQcgJgDEHMAYg5AzAGIOQAxByDmAMQcgJgDEPsPGleAgfKjdjYAAAAASUVORK5CYII=" style="float: right; margin-left: 1rem; margin-bottom: 1rem;"> |
| 89 | //! |
| 90 | //! This example draws an ellipse with a 2px green stroke. |
| 91 | //! |
| 92 | //! <div style="clear: both;"></div> |
| 93 | //! |
| 94 | //! ```ignore |
| 95 | //! use embedded_graphics::{ |
| 96 | //! pixelcolor::Rgb888, |
| 97 | //! prelude::*, |
| 98 | //! primitives::{Ellipse, PrimitiveStyle}, |
| 99 | //! }; |
| 100 | //! |
| 101 | //! Ellipse::new(Point::new(8, 16), Size::new(48, 32)) |
| 102 | //! .into_styled(PrimitiveStyle::with_stroke(Rgb888::GREEN, 2)) |
| 103 | //! .draw(&mut display)?; |
| 104 | //! ``` |
| 105 | //! ## Draw an arc |
| 106 | //! |
| 107 | //! <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAAB9klEQVR4nO3RQW7DMAwF0fb+h26NsAs2DtoEIjWKPA/IlnL+fH4IZQCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBngP1/H77fSzUqPbckAS8gZSjcrPbYxA8BygFC0XNGZ7RlgCTlD0XJFZy7CADADwAwAywHC8H7DBy7FAEvIGYb3Gz5wQQaAGQBmAJgBYAaAGQBmAJgBYAaAGQBmAJgBYAaAGQBmAEyePgzvN3zgUgwAywGKlis6cxEGgBkAZgBMnj4ULVd0ZnsGgOUApZuVHtuYATB5+lC6WemxLRkAlgM0rNVwcjMGwOTpQ8NaDSe3YQDMlOlD2+G3ZgDMxOlD8/m3YwDM9OnDlEfeggEw0PRh4lPLMsDPBDO/JV48m/kNN9MffCjmmPkt8eLZzG+4mf7gQ+c5Or7r/ErW8eIToGfvnKfp+K7zK1nHi0+Anr3z9zTh1S/tuNlggU84dIzVcbPBAp9w55nhRiz2jxf7nIMBljOSZPn/t/wHHgygPgaAGQBmAJgBYAaAGQBmAJgBYAaAGQBmAJgBYAaAGQBmAJgBYAaAGQBmAJgBYAaAfQP0B0SBoe+dyAAAAABJRU5ErkJggg==" style="float: right; margin-left: 1rem; margin-bottom: 1rem;"> |
| 108 | //! |
| 109 | //! This example draws an arc with a 2px green stroke. |
| 110 | //! |
| 111 | //! <div style="clear: both;"></div> |
| 112 | //! |
| 113 | //! ```ignore |
| 114 | //! use embedded_graphics::{ |
| 115 | //! pixelcolor::Rgb888, |
| 116 | //! prelude::*, |
| 117 | //! primitives::{Arc, PrimitiveStyle}, |
| 118 | //! }; |
| 119 | //! |
| 120 | //! Arc::new(Point::new(12, 12), 40, -30.0.deg(), 150.0.deg()) |
| 121 | //! .into_styled(PrimitiveStyle::with_stroke(Rgb888::GREEN, 2)) |
| 122 | //! .draw(&mut display)?; |
| 123 | //! ``` |
| 124 | //! ## Draw a sector |
| 125 | //! |
| 126 | //! <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAAB7UlEQVR4nO3RQW6DUBAE0eT+h04iz4YI2bJNz68B15PYDtD1/SWUAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZoAHfv6e//Jz5S9eiAEw++lLfq78xUswAODe6HvJ0ZK3Ts4AgOdH30qOlrx1QgbAvDd9SY6WvHUqBgAcGX0rOVry1ngGAKRG38tMl7kymAEAfaNvZabLXBnGAJg105fMdJkrYxgAsHL0rcx0mSsoA2Co6UtmuswViAFgBoAZAMNOXzLTZa4sZwDMhOlLZrrMlYUMAJsQIDla8tYSBsBMmL4kR0veamYAmAFgBsDMmb4kR0veamMA2JwA+bnyFxsYADNn+pKfK38xygCY609fuu4eZgDYnAC9E/VeP8AAmDnTl96Jeq+/xQCwOQFWjLPiHS8yAOazpi/r3vQEA2A+cfqy+n13GADGBiBHIN+9YQAYFYD/ff4LbgwwSHeMWb8862tuDDDUq2HO8Wvn+MobA6iBAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkAZgCYAWAGgBkA9gshrDyBwGLMxAAAAABJRU5ErkJggg==" style="float: right; margin-left: 1rem; margin-bottom: 1rem;"> |
| 127 | //! |
| 128 | //! This example draws a sector with no stroke and a solid blue fill. |
| 129 | //! |
| 130 | //! <div style="clear: both;"></div> |
| 131 | //! |
| 132 | //! ```ignore |
| 133 | //! use embedded_graphics::{ |
| 134 | //! pixelcolor::Rgb888, |
| 135 | //! prelude::*, |
| 136 | //! primitives::{PrimitiveStyle, Sector}, |
| 137 | //! }; |
| 138 | //! |
| 139 | //! Sector::new(Point::new(12, 12), 40, -30.0.deg(), 150.0.deg()) |
| 140 | //! .into_styled(PrimitiveStyle::with_fill(Rgb888::BLUE)) |
| 141 | //! .draw(&mut display)?; |
| 142 | //! ``` |
| 143 | //! ## Draw a triangle |
| 144 | //! |
| 145 | //! <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAAC2klEQVR4nO3R0YrjMBBE0d3//+iZGgzCEGzkyF23BXX2Zckk6uqu//8ClQJgKQCWAmApAJYCYCkAlgJgKQCWAmApAJYCYCkAlgJgKQCWAmApAJYCYCkAlgJgKQCWAmApAJYCYCkAlgJgKQCWAmApAJYCYCkAlgJg2xfwo39/a+y6yK65hxSAOU5/SAGAFAA7CjhOf/7/XvZLPJyPfv7/XvZLLJ/n/vxkF/slls9zf36yi/0Sy9W5rz7vbKesw9Whrz7vbKescn/i+7/2tFNWuT/x/V972imrzJx45jt97JFymDnuzHf62COlzJ91/psd7JFS5s86/80O9kgpT8/69PuU7vmGpwd9+n1K93zy3Sm/+5Vf93zy3Sm/+5Vf93yycsqV33r0TTasHHHltx59k8n6+dZfqNY3mayfb/2Fan2TyVvne+udCh0zDW8d7q13KnTMJO+e7N3X3tUxk7x7sndfe1fHTFJxsoo31/VKM1Qcq+LNdb3SSN2Z6l5e0SuN1J2p7uUVvdJI9Zmq33+qS46h+kDV7z/VJYd4TuOZMq9LDvGcxjNlXpcc4jyNc9Y9PsHgPIpz1j0+gfjP4Z94hU8g/nP4J17hEwh1DmruGTl7oA5BzT0jZwt7Anb6gZwt7AnY6QdytnQ4AZuBmTqwyx/YDMxUYdc+Y5MwU4Vd+4xNwkwVdu1PVB73vIFa+AqVxz1PqFXvUanc84Ra9R6Vyj1PqFVn+LP5Jg3+Jef5s/kmiX+9p/wJfZPEv95T/oS+SeJf7zvOnI4Zg3OxFc6cjhniXGmdM61jhjhXWudM65ghzpXe4slc+/rgWeZdnsy1r4tnjQqe5LWvi2eNCp7kta/Lscbu6mqoendIAfeq3o1JKQCWAmApAJYCYCkAlgJgKQCWAmApAJYCYCkAlgJgKQCWAmApAJYCYCkAlgJgKQCWAmApAJYCYCkAlgJgKQCWAmApAJYCYCkA9gu5afyBEuvR5wAAAABJRU5ErkJggg==" style="float: right; margin-left: 1rem; margin-bottom: 1rem;"> |
| 146 | //! |
| 147 | //! This example draws a triangle with a solid 1px magenta stroke and no fill. |
| 148 | //! |
| 149 | //! <div style="clear: both;"></div> |
| 150 | //! |
| 151 | //! ```ignore |
| 152 | //! use embedded_graphics::{ |
| 153 | //! pixelcolor::Rgb888, |
| 154 | //! prelude::*, |
| 155 | //! primitives::{PrimitiveStyle, Triangle}, |
| 156 | //! }; |
| 157 | //! |
| 158 | //! Triangle::new(Point::new(32, 16), Point::new(16, 48), Point::new(48, 48)) |
| 159 | //! .into_styled(PrimitiveStyle::with_stroke(Rgb888::MAGENTA, 1)) |
| 160 | //! .draw(&mut display)?; |
| 161 | //! ``` |
| 162 | //! ## Draw a polyline |
| 163 | //! |
| 164 | //! <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAACb0lEQVR4nO3RgU7jQAwA0eP/P5qjrE7NEYiyydpj03kSCNF01/G8/RHKADADwAwAMwDMADADwAwAMwDMADADwAwAMwDMADADwAwAmw/w/v7x6z9v84fon/ndGWCpFbvbJ9kyz6EV2zHADfHbMc+h+Pc3wCH6/V8+D/2GBvj4qesF8tR+BwOU9ivy9JjyewYorUmeKnOsZ4DSyuTJu6kWA5S2zxOWJOrc3gxQyIhhAIwBMMGrH2JP780AMAPADIBJWf2QcUc/BoAZAGYATOLqh7ybejAAzAAwA2DSVz9k31eXAWAGgBkAA61+YG6txQAwA8AMgEFXP5B38wwAMwDMAJgCqx/4CRgGgBkA9kIBxqtGO7/KMc/554PFzzFeONr5hY55zj8fLGuOOq9dZ5JPWXPUee06k3zKnYN9efb2H+ROw66Avf0HxDTUIqh7DxHTUIug7j3ETZO5jsy7JnEzZS4l865J9Ew5q8m55RJ6ppzV5NxySY2Z4hYUd/IiNSaLW1PcyYtUmixiWRFnLlVpsohlRZy5VL3JVq1s1TnB6s23anGrzglWdb7767t/Qoqq891f3/0TUtSe79oSr30LUnvKa6u89i1IhylnFzr7PKrDlLMLnX0e1WPKhzNrPfNMMX1mPbPcM88U02nWh+MVH39aUqdZH45XfPxpSZ1mfdovev+fJvpN/LBf9/4/TfSb+Gm79O3frfSb+Gm79O3frfSb+Ku2qx+6zv1kAN1hAJgBYAaAGQBmAJgBYAaAGQBmAJgBYAaAGQBmAJgBYAaAGQBmAJgBYAaAGQBmAJgBYAaAGQBmAJgBYAaAGQBmANhfnlfkgaL6FZsAAAAASUVORK5CYII=" style="float: right; margin-left: 1rem; margin-bottom: 1rem;"> |
| 165 | //! |
| 166 | //! This example draws a polyline with 1px cyan stroke. |
| 167 | //! |
| 168 | //! <div style="clear: both;"></div> |
| 169 | //! |
| 170 | //! ```ignore |
| 171 | //! use embedded_graphics::{ |
| 172 | //! pixelcolor::Rgb888, |
| 173 | //! prelude::*, |
| 174 | //! primitives::{Polyline, PrimitiveStyle}, |
| 175 | //! }; |
| 176 | //! |
| 177 | //! let points: [Point; 5] = [ |
| 178 | //! Point::new(8, 8), |
| 179 | //! Point::new(48, 16), |
| 180 | //! Point::new(32, 48), |
| 181 | //! Point::new(16, 32), |
| 182 | //! Point::new(32, 32), |
| 183 | //! ]; |
| 184 | //! |
| 185 | //! Polyline::new(&points) |
| 186 | //! .into_styled(PrimitiveStyle::with_stroke(Rgb888::CYAN, 1)) |
| 187 | //! .draw(&mut display)?; |
| 188 | //! ``` |
| 189 | //! ## Draw a rectangle with rounded corners |
| 190 | //! |
| 191 | //! <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAAB8UlEQVR4nO3RwW7DIBQF0eb/PzqtBAtHDmDzIJPCHMkb27C48/gRygAwA8AMADMAzAAwA8AMADMAzAAwA8AMADMAzAAwA8AMADMAzAAwA8AMADMAzAAwA8AMADMAzAAwA8AMADMAzACwiQGef88q5s0072YDXDLs5pXmvmLUcKPuMUCnAffsNv1RfL74DQYICd1Qn/5R//yvPKs7VT82RM4aIKt+bOg8W9p2pdFLSjEKrxv6ThngjcLrhtunSgvvMP3RqAx3/zdA9kUBdpv+6Jzh9KLh7v8GeGEAmAFgHw1w3nnn6Y8iGa7/aYAiA8AMADMAzAAwA8AMADMAzAAwA8AMADMAzAAwA8AMADMAzAAwA8AMADMAzAAwA8AMADMAzAAwA8AMADMAzAAwA8AMADMAzAAwA8AMAPtQgOS8+c4ZItMnd/83wAsDwAwA+4oAyW4ZztMnhddFd/83QIYFSEpr75Bh1PRJ3ykDvFF43dB3KquvvVKM0uhJ9WND5KwBsurHhsjZbKGdb4vPF7/BACHxG7LdMowabtQ9Bug06p43Vkoyb6Z5Nxvgknk36xIDwAwAMwDMADADwAwAMwDMADADwAwAMwDMADADwAwAMwDMADADwAwAMwDMADADwAwAMwDMADADwAwAMwDMADADwH4B4Bq0gX3sDWQAAAAASUVORK5CYII=" style="float: right; margin-left: 1rem; margin-bottom: 1rem;"> |
| 192 | //! |
| 193 | //! This example draws a rectangle with rounded corners, red stroke and green fill. |
| 194 | //! |
| 195 | //! <div style="clear: both;"></div> |
| 196 | //! |
| 197 | //! ```ignore |
| 198 | //! use embedded_graphics::{ |
| 199 | //! pixelcolor::Rgb888, |
| 200 | //! prelude::*, |
| 201 | //! primitives::{PrimitiveStyleBuilder, Rectangle, RoundedRectangle}, |
| 202 | //! }; |
| 203 | //! |
| 204 | //! let style = PrimitiveStyleBuilder::new() |
| 205 | //! .stroke_color(Rgb888::RED) |
| 206 | //! .stroke_width(3) |
| 207 | //! .fill_color(Rgb888::GREEN) |
| 208 | //! .build(); |
| 209 | //! |
| 210 | //! RoundedRectangle::with_equal_corners( |
| 211 | //! Rectangle::new(Point::new(8, 16), Size::new(48, 32)), |
| 212 | //! Size::new(10, 10), |
| 213 | //! ) |
| 214 | //! .into_styled(style) |
| 215 | //! .draw(&mut display)?; |
| 216 | //! ``` |
| 217 | //! ## Draw some text |
| 218 | //! |
| 219 | //! <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAADCElEQVR4nO3V247bQAyD4fb9H7ptwBuqWhlK9sCM8X9AgQFHzlrmRX//QhQFhFFAGAWEUUAYBYRRQBgFhFFAGAWEUUAYBYRRQBgFhFFAGAWEUUAYBYRRQBgFhFFAGAWEUUAYBYRRQBgFhFFAGAWEUUAYBYRRQBgFhFFAGAWEUUAYBYRRQBgFhFFAGAWEUUAYBYRRQBgFhNUC/vz793/2MOXX9JRMz25mbq0urc9Rs4cpv6anZHp2M3NrdWl9jpo9TPnG5tnNzE3VpacPMeUbm2c3MzdVl54+RM+VOL91mpxu5XpGt26aPFBdRavW7KHnSpzfOk1Ot3I9o1s3TR6ortJXdZrVjM7u2dxNM8/mB6pLaLGJZjWjs3s2d9PMs/mB6hLTYp7rPNGM03zP3TTzbH6gusS0mOc6TzTjNN9zN808mx+oLjEt5rmfNzbz08xrufTbt1RfUwvU7MFzP29s5qeZ13Lpt2+pvqYWqNlDz5U4v5WfnBFNTrdvqb7stEDPlTi/lZ+cEU1Ot2/pqJe9cOCnlwNf+UMUgNdQQBgFhFFAWC1A/5V1deor6S9ufn8/eZS6kJbs6tRX0l/c/P5+8ih1oWnJKf+8/S/vJ49SF5qWnPLP2//yfvIodaFpSc/97HquxF3fis84zU+3x6oLTUt67mfXcyXu+lZ8xml+uj1WXUhLdj6lGU/Ecz9f+47Jo9SFtGTnU5rxRDz387XvmDxKXciX9LPb50qc34pmet7tJ49SF/Il/ez2uRLnt6KZnnf7yaPUhfqS+0Q87zTpM5vk1uqiffl9Ip53mvSZTXJrddFp+Z4rEeVK/NzptvP565np9lh1oWnJnisR5Ur83Om28/nrmen2WLdb6DQUEEYBYRQQRgFhFBBGAWEUEEYBYRQQRgFhFBBGAWEUEEYBYRQQRgFhFBBGAWEUEEYBYRQQRgFhFBBGAWEUEEYBYRQQRgFhFBBGAWEUEEYBYRQQRgFhFBBGAWEUEEYBYRQQRgFhFBBGAWEUEEYBYRQQRgFhFBBGAWEUEPYXY8CqgXhwH/4AAAAASUVORK5CYII=" style="float: right; margin-left: 1rem; margin-bottom: 1rem;"> |
| 220 | //! |
| 221 | //! This example draws the text \"Hello,\\nRust!\" with the `Font6x10` font in green. |
| 222 | //! |
| 223 | //! <div style="clear: both;"></div> |
| 224 | //! |
| 225 | //! ```ignore |
| 226 | //! use embedded_graphics::{ |
| 227 | //! mono_font::{ascii::FONT_6X10, MonoTextStyle}, |
| 228 | //! pixelcolor::Rgb888, |
| 229 | //! prelude::*, |
| 230 | //! text::Text, |
| 231 | //! }; |
| 232 | //! |
| 233 | //! let style = MonoTextStyle::new(&FONT_6X10, Rgb888::GREEN); |
| 234 | //! |
| 235 | //! Text::new("Hello, \nRust!" , Point::new(2, 28), style).draw(&mut display)?; |
| 236 | //! ``` |
| 237 | //! ## Display a TGA image |
| 238 | //! |
| 239 | //! <img src="data:image/png;base64,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" style="float: right; margin-left: 1rem; margin-bottom: 1rem;"> |
| 240 | //! |
| 241 | //! This example uses [tinytga](https://crates.io/crates/tinytga) to draw an image to the display. |
| 242 | //! |
| 243 | //! <div style="clear: both;"></div> |
| 244 | //! |
| 245 | //! ```ignore |
| 246 | //! use embedded_graphics::{image::Image, pixelcolor::Rgb888, prelude::*}; |
| 247 | //! use tinytga::Tga; |
| 248 | //! |
| 249 | //! // Load the TGA image |
| 250 | //! let tga: Tga<Rgb888> = Tga::from_slice(include_bytes!("../assets/rust-pride.tga" )).unwrap(); |
| 251 | //! |
| 252 | //! let image = Image::new(&tga, Point::zero()); |
| 253 | //! |
| 254 | //! // Display the image |
| 255 | //! image.draw(&mut display)?; |
| 256 | //! ``` |
| 257 | |