1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_UI_VIEWS_OMNIBOX_TOUCH_OMNIBOX_POPUP_CONTENTS_VIEW_H_ 6 #define CHROME_BROWSER_UI_VIEWS_OMNIBOX_TOUCH_OMNIBOX_POPUP_CONTENTS_VIEW_H_ 7 8 #include "base/compiler_specific.h" 9 #include "chrome/browser/ui/views/omnibox/omnibox_popup_contents_view.h" 10 #include "chrome/browser/ui/views/omnibox/omnibox_result_view.h" 11 12 class OmniboxEditModel; 13 class OmniboxView; 14 15 namespace gfx { 16 class Canvas; 17 } 18 19 namespace views { 20 class View; 21 } 22 23 class TouchOmniboxResultView : public OmniboxResultView { 24 public: 25 TouchOmniboxResultView(OmniboxResultViewModel* model, 26 int model_index, 27 LocationBarView* location_bar_view, 28 const gfx::FontList& font_list); 29 30 private: 31 virtual ~TouchOmniboxResultView(); 32 33 // OmniboxResultView: 34 virtual void PaintMatch(gfx::Canvas* canvas, 35 const AutocompleteMatch& match, 36 int x) OVERRIDE; 37 virtual int GetTextHeight() const OVERRIDE; 38 39 DISALLOW_COPY_AND_ASSIGN(TouchOmniboxResultView); 40 }; 41 42 class TouchOmniboxPopupContentsView 43 : public OmniboxPopupContentsView { 44 public: 45 TouchOmniboxPopupContentsView(const gfx::FontList& font_list, 46 OmniboxView* omnibox_view, 47 OmniboxEditModel* edit_model, 48 LocationBarView* location_bar_view); 49 virtual ~TouchOmniboxPopupContentsView(); 50 51 // OmniboxPopupContentsView: 52 virtual void UpdatePopupAppearance() OVERRIDE; 53 54 protected: 55 // OmniboxPopupContentsView: 56 virtual void PaintResultViews(gfx::Canvas* canvas) OVERRIDE; 57 virtual OmniboxResultView* CreateResultView( 58 OmniboxResultViewModel* model, 59 int model_index, 60 const gfx::FontList& font_list) OVERRIDE; 61 62 private: 63 std::vector<View*> GetVisibleChildren(); 64 65 DISALLOW_COPY_AND_ASSIGN(TouchOmniboxPopupContentsView); 66 }; 67 68 #endif // CHROME_BROWSER_UI_VIEWS_OMNIBOX_TOUCH_OMNIBOX_POPUP_CONTENTS_VIEW_H_ 69