Skip to content

Commit dfc2b9c

Browse files
committed
Compile failed with gcc (fixes issue #33)
Updated container_linux for latest changes in litehtml.
1 parent 36ce975 commit dfc2b9c

File tree

3 files changed

+31
-85
lines changed

3 files changed

+31
-85
lines changed

containers/linux/container_linux.cpp

Lines changed: 9 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -174,51 +174,6 @@ void container_linux::draw_text( litehtml::uint_ptr hdc, const litehtml::tchar_t
174174
cairo_restore(cr);
175175
}
176176

177-
void container_linux::fill_rect( litehtml::uint_ptr hdc, const litehtml::position& pos, const litehtml::web_color color, const litehtml::css_border_radius& radius )
178-
{
179-
if(hdc)
180-
{
181-
cairo_t* cr = (cairo_t*) hdc;
182-
cairo_save(cr);
183-
apply_clip(cr);
184-
185-
cairo_new_path(cr);
186-
187-
if(radius.top_left_x.val())
188-
{
189-
cairo_arc(cr, pos.left() + radius.top_left_x.val(), pos.top() + radius.top_left_x.val(), radius.top_left_x.val(), M_PI, M_PI * 3.0 / 2.0);
190-
} else
191-
{
192-
cairo_move_to(cr, pos.left(), pos.top());
193-
}
194-
195-
cairo_line_to(cr, pos.right() - radius.top_right_x.val(), pos.top());
196-
197-
if(radius.top_right_x.val())
198-
{
199-
cairo_arc(cr, pos.right() - radius.top_right_x.val(), pos.top() + radius.top_right_x.val(), radius.top_right_x.val(), M_PI * 3.0 / 2.0, 2.0 * M_PI);
200-
}
201-
202-
cairo_line_to(cr, pos.right(), pos.bottom() - radius.bottom_right_x.val());
203-
204-
if(radius.bottom_right_x.val())
205-
{
206-
cairo_arc(cr, pos.right() - radius.bottom_right_x.val(), pos.bottom() - radius.bottom_right_x.val(), radius.bottom_right_x.val(), 0, M_PI / 2.0);
207-
}
208-
209-
cairo_line_to(cr, pos.left() - radius.bottom_left_x.val(), pos.bottom());
210-
211-
if(radius.bottom_left_x.val())
212-
{
213-
cairo_arc(cr, pos.left() + radius.bottom_left_x.val(), pos.bottom() - radius.bottom_left_x.val(), radius.bottom_left_x.val(), M_PI / 2.0, M_PI);
214-
}
215-
216-
set_color(cr, color);
217-
cairo_fill(cr);
218-
cairo_restore(cr);
219-
}
220-
}
221-
222177
int container_linux::pt_to_px( int pt )
223178
{
224179
GdkScreen* screen = gdk_screen_get_default();
@@ -322,23 +277,6 @@ void container_linux::get_image_size( const litehtml::tchar_t* src, const liteht
322277
}
323278
}
324279

325-
void container_linux::draw_image( litehtml::uint_ptr hdc, const litehtml::tchar_t* src, const litehtml::tchar_t* baseurl, const litehtml::position& pos )
326-
{
327-
cairo_t* cr = (cairo_t*) hdc;
328-
cairo_save(cr);
329-
apply_clip(cr);
330-
331-
litehtml::tstring url;
332-
make_url(src, baseurl, url);
333-
images_map::iterator img = m_images.find(url.c_str());
334-
if(img != m_images.end())
335-
{
336-
draw_pixbuf(cr, img->second, pos.x, pos.y, pos.width, pos.height);
337-
}
338-
cairo_restore(cr);
339-
340-
}
341-
342280
void container_linux::draw_background( litehtml::uint_ptr hdc, const litehtml::background_paint& bg )
343281
{
344282
cairo_t* cr = (cairo_t*) hdc;
@@ -834,7 +772,9 @@ const litehtml::tchar_t* container_linux::get_default_font_name() const
834772
return "Times New Roman";
835773
}
836774

837-
litehtml::element* container_linux::create_element(const litehtml::tchar_t* tag_name, const litehtml::string_map& attributes, litehtml::document* doc)
775+
std::shared_ptr<litehtml::element> container_linux::create_element(const litehtml::tchar_t *tag_name,
776+
const litehtml::string_map &attributes,
777+
const std::shared_ptr<litehtml::document> &doc)
838778
{
839779
return 0;
840780
}
@@ -935,4 +875,9 @@ void container_linux::get_language(litehtml::tstring& language, litehtml::tstrin
935875
{
936876
language = _t("en");
937877
culture = _t("");
938-
}
878+
}
879+
880+
void container_linux::link(const std::shared_ptr<litehtml::document> &ptr, const litehtml::element::ptr& el)
881+
{
882+
883+
}

containers/linux/container_linux.h

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -50,28 +50,29 @@ class container_linux : public litehtml::document_container
5050
container_linux(void);
5151
virtual ~container_linux(void);
5252

53-
virtual litehtml::uint_ptr create_font(const litehtml::tchar_t* faceName, int size, int weight, litehtml::font_style italic, unsigned int decoration, litehtml::font_metrics* fm);
54-
virtual void delete_font(litehtml::uint_ptr hFont);
55-
virtual int text_width(const litehtml::tchar_t* text, litehtml::uint_ptr hFont);
56-
virtual void draw_text(litehtml::uint_ptr hdc, const litehtml::tchar_t* text, litehtml::uint_ptr hFont, litehtml::web_color color, const litehtml::position& pos);
57-
virtual void fill_rect(litehtml::uint_ptr hdc, const litehtml::position& pos, const litehtml::web_color color, const litehtml::css_border_radius& radius);
58-
virtual int pt_to_px(int pt);
59-
virtual int get_default_font_size() const;
60-
virtual const litehtml::tchar_t* get_default_font_name() const;
61-
virtual void load_image(const litehtml::tchar_t* src, const litehtml::tchar_t* baseurl, bool redraw_on_ready);
62-
virtual void get_image_size(const litehtml::tchar_t* src, const litehtml::tchar_t* baseurl, litehtml::size& sz);
63-
virtual void draw_image(litehtml::uint_ptr hdc, const litehtml::tchar_t* src, const litehtml::tchar_t* baseurl, const litehtml::position& pos);
64-
virtual void draw_background(litehtml::uint_ptr hdc, const litehtml::background_paint& bg);
65-
virtual void draw_borders(litehtml::uint_ptr hdc, const litehtml::borders& borders, const litehtml::position& draw_pos, bool root);
66-
virtual void draw_list_marker(litehtml::uint_ptr hdc, const litehtml::list_marker& marker);
67-
virtual litehtml::element* create_element(const litehtml::tchar_t* tag_name, const litehtml::string_map& attributes, litehtml::document* doc);
68-
virtual void get_media_features(litehtml::media_features& media) const;
69-
virtual void get_language(litehtml::tstring& language, litehtml::tstring & culture) const;
53+
virtual litehtml::uint_ptr create_font(const litehtml::tchar_t* faceName, int size, int weight, litehtml::font_style italic, unsigned int decoration, litehtml::font_metrics* fm) override;
54+
virtual void delete_font(litehtml::uint_ptr hFont) override;
55+
virtual int text_width(const litehtml::tchar_t* text, litehtml::uint_ptr hFont) override;
56+
virtual void draw_text(litehtml::uint_ptr hdc, const litehtml::tchar_t* text, litehtml::uint_ptr hFont, litehtml::web_color color, const litehtml::position& pos) override;
57+
virtual int pt_to_px(int pt) override;
58+
virtual int get_default_font_size() const override;
59+
virtual const litehtml::tchar_t* get_default_font_name() const override;
60+
virtual void load_image(const litehtml::tchar_t* src, const litehtml::tchar_t* baseurl, bool redraw_on_ready) override;
61+
virtual void get_image_size(const litehtml::tchar_t* src, const litehtml::tchar_t* baseurl, litehtml::size& sz) override;
62+
virtual void draw_background(litehtml::uint_ptr hdc, const litehtml::background_paint& bg) override;
63+
virtual void draw_borders(litehtml::uint_ptr hdc, const litehtml::borders& borders, const litehtml::position& draw_pos, bool root) override;
64+
virtual void draw_list_marker(litehtml::uint_ptr hdc, const litehtml::list_marker& marker) override;
65+
virtual std::shared_ptr<litehtml::element> create_element(const litehtml::tchar_t *tag_name,
66+
const litehtml::string_map &attributes,
67+
const std::shared_ptr<litehtml::document> &doc) override;
68+
virtual void get_media_features(litehtml::media_features& media) const override;
69+
virtual void get_language(litehtml::tstring& language, litehtml::tstring & culture) const override;
70+
virtual void link(const std::shared_ptr<litehtml::document> &ptr, const litehtml::element::ptr& el) override;
7071

7172

72-
virtual void transform_text(litehtml::tstring& text, litehtml::text_transform tt);
73-
virtual void set_clip(const litehtml::position& pos, const litehtml::border_radiuses& bdr_radius, bool valid_x, bool valid_y);
74-
virtual void del_clip();
73+
virtual void transform_text(litehtml::tstring& text, litehtml::text_transform tt) override;
74+
virtual void set_clip(const litehtml::position& pos, const litehtml::border_radiuses& bdr_radius, bool valid_x, bool valid_y) override;
75+
virtual void del_clip() override;
7576

7677
virtual void make_url( const litehtml::tchar_t* url, const litehtml::tchar_t* basepath, litehtml::tstring& out );
7778
virtual Glib::RefPtr<Gdk::Pixbuf> get_image(const litehtml::tchar_t* url, bool redraw_on_ready) = 0;

src/table.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -525,7 +525,7 @@ void litehtml::table_grid::calc_rows_height(int blockHeight, int borderSpacingY)
525525
else if (extra_height < 0)
526526
{
527527
extra_height = -extra_height;
528-
for (auto& row = m_rows.rbegin(); row < m_rows.rend() && extra_height > 0; row++)
528+
for (auto row = m_rows.rbegin(); row < m_rows.rend() && extra_height > 0; row++)
529529
{
530530
if (row->height > row->min_height)
531531
{

0 commit comments

Comments
 (0)