11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Copyright 2014 The Chromium Authors. All rights reserved. 21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Use of this source code is governed by a BSD-style license that can be 31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// found in the LICENSE file. 41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "components/pdf/renderer/pdf_resource_util.h" 61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "base/strings/utf_string_conversions.h" 81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "components/strings/grit/components_strings.h" 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "grit/components_scaled_resources.h" 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "ui/base/l10n/l10n_util.h" 111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "ui/base/resource/resource_bundle.h" 121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccinamespace { 141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccistruct ResourceImageInfo { 161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci PP_ResourceImage pp_id; 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci int res_id; 181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}; 191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccistatic const ResourceImageInfo kResourceImageMap[] = { 211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_FTP, IDR_PDF_BUTTON_FTP}, 221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_FTP_HOVER, IDR_PDF_BUTTON_FTP_HOVER}, 231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_FTP_PRESSED, IDR_PDF_BUTTON_FTP_PRESSED}, 241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_FTW, IDR_PDF_BUTTON_FTW}, 251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_FTW_HOVER, IDR_PDF_BUTTON_FTW_HOVER}, 261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_FTW_PRESSED, IDR_PDF_BUTTON_FTW_PRESSED}, 271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN_END, IDR_PDF_BUTTON_ZOOMIN_END}, 281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN_END_HOVER, 291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci IDR_PDF_BUTTON_ZOOMIN_END_HOVER}, 301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN_END_PRESSED, 311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci IDR_PDF_BUTTON_ZOOMIN_END_PRESSED}, 321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN, IDR_PDF_BUTTON_ZOOMIN}, 331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN_HOVER, IDR_PDF_BUTTON_ZOOMIN_HOVER}, 341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN_PRESSED, IDR_PDF_BUTTON_ZOOMIN_PRESSED}, 351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMOUT, IDR_PDF_BUTTON_ZOOMOUT}, 361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMOUT_HOVER, IDR_PDF_BUTTON_ZOOMOUT_HOVER}, 371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMOUT_PRESSED, 381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci IDR_PDF_BUTTON_ZOOMOUT_PRESSED}, 391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_SAVE, IDR_PDF_BUTTON_SAVE}, 401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_SAVE_HOVER, IDR_PDF_BUTTON_SAVE_HOVER}, 411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_SAVE_PRESSED, IDR_PDF_BUTTON_SAVE_PRESSED}, 421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_PRINT, IDR_PDF_BUTTON_PRINT}, 431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_PRINT_HOVER, IDR_PDF_BUTTON_PRINT_HOVER}, 441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_PRINT_PRESSED, IDR_PDF_BUTTON_PRINT_PRESSED}, 451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_PRINT_DISABLED, IDR_PDF_BUTTON_PRINT_DISABLED}, 461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_0, IDR_PDF_THUMBNAIL_0}, 471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_1, IDR_PDF_THUMBNAIL_1}, 481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_2, IDR_PDF_THUMBNAIL_2}, 491320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_3, IDR_PDF_THUMBNAIL_3}, 501320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_4, IDR_PDF_THUMBNAIL_4}, 511320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_5, IDR_PDF_THUMBNAIL_5}, 521320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_6, IDR_PDF_THUMBNAIL_6}, 531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_7, IDR_PDF_THUMBNAIL_7}, 541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_8, IDR_PDF_THUMBNAIL_8}, 551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_9, IDR_PDF_THUMBNAIL_9}, 561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_NUM_BACKGROUND, 571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci IDR_PDF_THUMBNAIL_NUM_BACKGROUND}, 581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_0, IDR_PDF_PROGRESS_BAR_0}, 591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_1, IDR_PDF_PROGRESS_BAR_1}, 601320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_2, IDR_PDF_PROGRESS_BAR_2}, 611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_3, IDR_PDF_PROGRESS_BAR_3}, 621320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_4, IDR_PDF_PROGRESS_BAR_4}, 631320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_5, IDR_PDF_PROGRESS_BAR_5}, 641320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_6, IDR_PDF_PROGRESS_BAR_6}, 651320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_7, IDR_PDF_PROGRESS_BAR_7}, 661320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_8, IDR_PDF_PROGRESS_BAR_8}, 671320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_BACKGROUND, 681320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci IDR_PDF_PROGRESS_BAR_BACKGROUND}, 691320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_PAGE_INDICATOR_BACKGROUND, 701320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci IDR_PDF_PAGE_INDICATOR_BACKGROUND}, 711320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_PAGE_DROPSHADOW, IDR_PDF_PAGE_DROPSHADOW}, 721320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {PP_RESOURCEIMAGE_PDF_PAN_SCROLL_ICON, IDR_PDF_PAN_SCROLL_ICON}, 731320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}; 741320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 751320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} // namespace 761320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 771320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccinamespace pdf { 781320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 791320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccigfx::ImageSkia* GetImageResource(PP_ResourceImage image_id) { 801320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci int resource_id = 0; 811320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci for (size_t i = 0; i < arraysize(kResourceImageMap); ++i) { 821320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci if (kResourceImageMap[i].pp_id == image_id) { 831320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci resource_id = kResourceImageMap[i].res_id; 841320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci break; 851320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci } 861320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci } 871320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 881320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci return resource_id ? ResourceBundle::GetSharedInstance().GetImageSkiaNamed( 891320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci resource_id) 901320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci : NULL; 911320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 921320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 931320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccistd::string GetStringResource(PP_ResourceString string_id) { 941320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci int resource_id = 0; 951320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci switch (string_id) { 961320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci case PP_RESOURCESTRING_PDFGETPASSWORD: 971320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci resource_id = IDS_PDF_NEED_PASSWORD; 981320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci break; 991320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci case PP_RESOURCESTRING_PDFLOADING: 1001320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci resource_id = IDS_PDF_PAGE_LOADING; 1011320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci break; 1021320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci case PP_RESOURCESTRING_PDFLOAD_FAILED: 1031320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci resource_id = IDS_PDF_PAGE_LOAD_FAILED; 1041320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci break; 1051320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci case PP_RESOURCESTRING_PDFPROGRESSLOADING: 1061320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci resource_id = IDS_PDF_PROGRESS_LOADING; 1071320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci break; 1081320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci } 1091320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci return base::UTF16ToUTF8(l10n_util::GetStringUTF16(resource_id)); 1111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 1121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} // namespace pdf 114