Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(39)

Unified Diff: chrome/browser/ui/panels/panel_browser_frame_view.cc

Issue 7677001: Some fixes to panel support on Windows: (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/panels/panel_browser_frame_view.cc
===================================================================
--- chrome/browser/ui/panels/panel_browser_frame_view.cc (revision 97031)
+++ chrome/browser/ui/panels/panel_browser_frame_view.cc (working copy)
@@ -51,6 +51,9 @@
// The spacing in pixels between buttons or the button and the adjacent control.
const int kButtonSpacing = 6;
+// The panel can be minimized to 3-pixel lines.
+const int kMinimizedPanelHeight = 3;
+
// Colors used in painting the titlebar for drawing attention.
const SkColor kBackgroundColorForAttention = 0xfffa983a;
const SkColor kTitleTextColorForAttention = SK_ColorWHITE;
@@ -100,8 +103,7 @@
ButtonResources close_button_resources;
EdgeResources frame_edges;
EdgeResources client_edges;
-gfx::Font* active_font = NULL;
-gfx::Font* inactive_font = NULL;
+gfx::Font* title_font = NULL;
SkBitmap* background_bitmap_for_attention = NULL;
void LoadImageResources() {
@@ -131,8 +133,7 @@
resources_initialized = true;
ResourceBundle& rb = ResourceBundle::GetSharedInstance();
- active_font = new gfx::Font(rb.GetFont(ResourceBundle::BoldFont));
- inactive_font = new gfx::Font(rb.GetFont(ResourceBundle::BaseFont));
+ title_font = new gfx::Font(rb.GetFont(ResourceBundle::BaseFont));
// Creates a bitmap of the specified color.
background_bitmap_for_attention = new SkBitmap();
@@ -355,15 +356,6 @@
}
void PanelBrowserFrameView::Layout() {
- // If the panel height is smaller than the title-bar height, as in minimized
- // case, we hide all controls.
- bool is_control_visible = height() >= kTitlebarHeight;
- close_button_->SetVisible(is_control_visible);
- settings_button_->SetVisible(
- is_control_visible && is_settings_button_visible_);
- title_icon_->SetVisible(is_control_visible);
- title_label_->SetVisible(is_control_visible);
-
// Layout the close button.
gfx::Size close_button_size = close_button_->GetPreferredSize();
close_button_->SetBounds(
@@ -561,6 +553,10 @@
return kFrameBorderThickness + kTitlebarHeight + kClientEdgeThickness;
}
+int PanelBrowserFrameView::MinimizedPanelHeight() {
+ return kMinimizedPanelHeight;
+}
+
SkColor PanelBrowserFrameView::GetTitleColor(PaintState paint_state) const {
switch (paint_state) {
case PAINT_AS_INACTIVE:
@@ -577,16 +573,7 @@
}
gfx::Font* PanelBrowserFrameView::GetTitleFont(PaintState paint_state) const {
jennb 2011/08/17 23:01:35 Should we change this method to not take paint_sta
- switch (paint_state) {
- case PAINT_AS_INACTIVE:
- case PAINT_FOR_ATTENTION:
- return inactive_font;
- case PAINT_AS_ACTIVE:
- return active_font;
- default:
- NOTREACHED();
- return NULL;
- }
+ return title_font;
}
SkBitmap* PanelBrowserFrameView::GetFrameTheme(PaintState paint_state) const {
@@ -625,6 +612,10 @@
// Draw the theme frame.
canvas->TileImageInt(*theme_frame, 0, 0, width(), height());
+ // No need to paint other stuffs if panel is minimized.
jennb 2011/08/17 23:01:35 s/stuffs/stuff
+ if (height() <= kMinimizedPanelHeight)
+ return;
+
// Draw the top border.
canvas->DrawBitmapInt(*(frame_edges.top_left), 0, 0);
canvas->TileImageInt(
@@ -667,6 +658,10 @@
void PanelBrowserFrameView::PaintClientEdge(gfx::Canvas* canvas) {
int client_area_top = client_view_bounds_.y();
+ // No need to paint other stuffs if panel is minimized.
jennb 2011/08/17 23:01:35 Ditto.
+ if (height() <= kMinimizedPanelHeight)
+ return;
+
// Draw the top edge.
int top_edge_y = client_area_top - client_edges.top->height();
canvas->DrawBitmapInt(

Powered by Google App Engine
This is Rietveld 408576698