summaryrefslogtreecommitdiff
path: root/desktop/thumbnail.c
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/thumbnail.c')
-rw-r--r--desktop/thumbnail.c110
1 files changed, 0 insertions, 110 deletions
diff --git a/desktop/thumbnail.c b/desktop/thumbnail.c
deleted file mode 100644
index d7aed007a..000000000
--- a/desktop/thumbnail.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright 2011 Michael Drake <tlsa@netsurf-browser.org>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/** \file
- * Core thumbnail handling (implementation).
- */
-
-#include <assert.h>
-#include <stdbool.h>
-
-#include "content/content.h"
-#include "content/hlcache.h"
-#include "desktop/browser.h"
-#include "desktop/knockout.h"
-#include "utils/nsoption.h"
-#include "desktop/plotters.h"
-#include "desktop/thumbnail.h"
-#include "utils/log.h"
-
-
-/**
- * Get scale at which thumbnail will be rendered for a given content and
- * thumbnail size.
- *
- * \param content The content to redraw for thumbnail
- * \param width The thumbnail width
- * \return scale thumbnail will be rendered at
- *
- * Units for width and height are pixels.
- */
-static float thumbnail_get_redraw_scale(struct hlcache_handle *content,
- int width)
-{
- assert(content);
-
- if (content_get_width(content))
- return (float)width / (float)content_get_width(content);
- else
- return 1.0;
-}
-
-
-/* exported interface, documented in thumbnail.h */
-bool thumbnail_redraw(struct hlcache_handle *content,
- int width, int height, const struct redraw_context *ctx)
-{
- struct redraw_context new_ctx = *ctx;
- struct rect clip;
- struct content_redraw_data data;
- float scale;
- bool plot_ok = true;
-
- assert(content);
-
- LOG(("Content %p %dx%d ctx:%p", content, width, height, ctx));
-
- if (ctx->plot->option_knockout) {
- knockout_plot_start(ctx, &new_ctx);
- }
-
- /* Set clip rectangle to required thumbnail size */
- clip.x0 = 0;
- clip.y0 = 0;
- clip.x1 = width;
- clip.y1 = height;
-
- new_ctx.plot->clip(&clip);
-
- /* Plot white background */
- plot_ok &= new_ctx.plot->rectangle(clip.x0, clip.y0, clip.x1, clip.y1,
- plot_style_fill_white);
-
- /* Find the scale we're using */
- scale = thumbnail_get_redraw_scale(content, width);
-
- /* Set up content redraw data */
- data.x = 0;
- data.y = 0;
- data.width = width;
- data.height = height;
-
- data.background_colour = 0xFFFFFF;
- data.scale = scale;
- data.repeat_x = false;
- data.repeat_y = false;
-
- /* Render the content */
- plot_ok &= content_redraw(content, &data, &clip, &new_ctx);
-
- if (ctx->plot->option_knockout) {
- knockout_plot_end();
- }
-
- return plot_ok;
-}