@@ -15,8 +15,8 @@ use litehtml::pixbuf::PixbufContainer;
1515use litehtml:: selection:: Selection ;
1616use litehtml:: {
1717 BackgroundLayer , BorderRadiuses , Borders , Color , ConicGradient , DocumentContainer ,
18- FontDescription , FontMetrics , LinearGradient , ListMarker , MediaFeatures , Position ,
19- RadialGradient , Size , TextTransform ,
18+ DrawContext , FontDescription , FontHandle , FontMetrics , LinearGradient , ListMarker ,
19+ MediaFeatures , Position , RadialGradient , Size , TextTransform ,
2020} ;
2121
2222const USER_AGENT : & str = "Mozilla/5.0 (X11; Linux x86_64; rv:122.0) Gecko/20100101 Firefox/122.0" ;
@@ -83,19 +83,19 @@ impl BrowseContainer {
8383
8484// Delegate everything to inner, override import_css, set_base_url, load_image
8585impl DocumentContainer for BrowseContainer {
86- fn create_font ( & mut self , descr : & FontDescription ) -> ( usize , FontMetrics ) {
86+ fn create_font ( & mut self , descr : & FontDescription ) -> ( FontHandle , FontMetrics ) {
8787 self . inner . create_font ( descr)
8888 }
89- fn delete_font ( & mut self , font : usize ) {
89+ fn delete_font ( & mut self , font : FontHandle ) {
9090 self . inner . delete_font ( font) ;
9191 }
92- fn text_width ( & self , text : & str , font : usize ) -> f32 {
92+ fn text_width ( & self , text : & str , font : FontHandle ) -> f32 {
9393 self . inner . text_width ( text, font)
9494 }
95- fn draw_text ( & mut self , hdc : usize , text : & str , font : usize , color : Color , pos : Position ) {
95+ fn draw_text ( & mut self , hdc : DrawContext , text : & str , font : FontHandle , color : Color , pos : Position ) {
9696 self . inner . draw_text ( hdc, text, font, color, pos) ;
9797 }
98- fn draw_list_marker ( & mut self , hdc : usize , marker : & ListMarker ) {
98+ fn draw_list_marker ( & mut self , hdc : DrawContext , marker : & ListMarker ) {
9999 self . inner . draw_list_marker ( hdc, marker) ;
100100 }
101101 fn load_image ( & mut self , src : & str , baseurl : & str , redraw_on_ready : bool ) {
@@ -110,42 +110,39 @@ impl DocumentContainer for BrowseContainer {
110110 fn get_image_size ( & self , src : & str , baseurl : & str ) -> Size {
111111 self . inner . get_image_size ( src, baseurl)
112112 }
113- fn draw_image ( & mut self , hdc : usize , layer : & BackgroundLayer , url : & str , base_url : & str ) {
113+ fn draw_image ( & mut self , hdc : DrawContext , layer : & BackgroundLayer , url : & str , base_url : & str ) {
114114 self . inner . draw_image ( hdc, layer, url, base_url) ;
115115 }
116- fn draw_solid_fill ( & mut self , hdc : usize , layer : & BackgroundLayer , color : Color ) {
116+ fn draw_solid_fill ( & mut self , hdc : DrawContext , layer : & BackgroundLayer , color : Color ) {
117117 self . inner . draw_solid_fill ( hdc, layer, color) ;
118118 }
119119 fn draw_linear_gradient (
120120 & mut self ,
121- hdc : usize ,
121+ hdc : DrawContext ,
122122 layer : & BackgroundLayer ,
123123 gradient : & LinearGradient ,
124124 ) {
125125 self . inner . draw_linear_gradient ( hdc, layer, gradient) ;
126126 }
127127 fn draw_radial_gradient (
128128 & mut self ,
129- hdc : usize ,
129+ hdc : DrawContext ,
130130 layer : & BackgroundLayer ,
131131 gradient : & RadialGradient ,
132132 ) {
133133 self . inner . draw_radial_gradient ( hdc, layer, gradient) ;
134134 }
135135 fn draw_conic_gradient (
136136 & mut self ,
137- hdc : usize ,
137+ hdc : DrawContext ,
138138 layer : & BackgroundLayer ,
139139 gradient : & ConicGradient ,
140140 ) {
141141 self . inner . draw_conic_gradient ( hdc, layer, gradient) ;
142142 }
143- fn draw_borders ( & mut self , hdc : usize , borders : & Borders , draw_pos : Position , root : bool ) {
143+ fn draw_borders ( & mut self , hdc : DrawContext , borders : & Borders , draw_pos : Position , root : bool ) {
144144 self . inner . draw_borders ( hdc, borders, draw_pos, root) ;
145145 }
146- fn set_caption ( & mut self , caption : & str ) {
147- self . inner . set_caption ( caption) ;
148- }
149146 fn set_base_url ( & mut self , base_url : & str ) {
150147 if let Ok ( u) = Url :: parse ( base_url) {
151148 self . base_url = u;
@@ -154,12 +151,6 @@ impl DocumentContainer for BrowseContainer {
154151 }
155152 self . inner . set_base_url ( base_url) ;
156153 }
157- fn on_anchor_click ( & mut self , url : & str ) {
158- self . inner . on_anchor_click ( url) ;
159- }
160- fn set_cursor ( & mut self , cursor : & str ) {
161- self . inner . set_cursor ( cursor) ;
162- }
163154 fn transform_text ( & self , text : & str , tt : TextTransform ) -> String {
164155 self . inner . transform_text ( text, tt)
165156 }
@@ -397,7 +388,7 @@ fn main() {
397388 if let Ok ( mut doc) = litehtml:: Document :: from_html ( & html, & mut container, None , None ) {
398389 let _ = doc. render ( width as f32 ) ;
399390 doc. draw (
400- 0 ,
391+ DrawContext :: default ( ) ,
401392 0.0 ,
402393 0.0 ,
403394 Some ( Position {
0 commit comments