- cairo_set_source_surface (cr,
- priv->message_surface,
- 2*CONTENT_OFFSET_X,
- TEXT_Y_OFFSET - priv->scroll_offset);
- cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
- cairo_paint (cr);
+ /* draw footer received part bg */
+ cairo_move_to (cr, FOOTER_WIDTH, C_HEIGHT - FOOTER_HEIGHT);
+ cairo_rel_line_to (cr, 0, FOOTER_HEIGHT);
+ cairo_rel_line_to (cr, C_WIDTH - FOOTER_WIDTH - BOX_RADIOUS, 0);
+ cairo_rel_curve_to (cr, BOX_RADIOUS, 0, BOX_RADIOUS, 0, BOX_RADIOUS, -BOX_RADIOUS);
+ cairo_rel_line_to (cr, 0, -(FOOTER_HEIGHT - BOX_RADIOUS));
+ cairo_rel_line_to (cr, -(C_WIDTH - FOOTER_WIDTH), 0);
+ cairo_close_path (cr);
+
+ cairo_set_source_rgba (cr, 0.2f, 0.2f, 0.2f, 0.8f);
+ cairo_fill (cr);
+
+ /* draw message */
+ if (!priv->message_surface) {
+ gint height;
+
+ priv->message_surface = draw_text (cr,
+ priv->font_desc,
+ priv->message,
+ MESSAGE_WIDTH,
+ &height);
+
+ priv->hidden_message_height = height - MESSAGE_HEIGHT;
+ priv->scroll_on_click = priv->hidden_message_height > 0;
+ if (priv->scroll_on_click)
+ gtk_widget_show (priv->cut_message);
+ }
+
+ cairo_rectangle (cr,
+ 2*CONTENT_OFFSET_X,
+ TEXT_Y_OFFSET,
+ MESSAGE_WIDTH,
+ MESSAGE_HEIGHT);
+ cairo_clip (cr);
+
+ cairo_set_source_surface (cr,
+ priv->message_surface,
+ 2*CONTENT_OFFSET_X,
+ TEXT_Y_OFFSET - priv->scroll_offset);
+ cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
+ cairo_paint (cr);
+ }