![electron-roller[bot]](/assets/img/avatar_default.png)
*6230977
* chore: bump chromium to 135.0.7012.0 * chore: update accelerator.patch Support parsing Ctrl+Alt shortcuts |6238137
* 6234236: Reapply bindings: Pass CppHeap on Isolate creation |6234236
* 6234614: [ios blink] Move to use external begin frame source |6234614
* chore: update chromium/feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch no manual changes; patch applied with fuzz * chore: update chromium/build_libc_as_static_library.patch no manual changes; patch applied with fuzz * chore: remove chromium/cherry-pick-dd8e2822e507.patch landed upstream * 6188884: Grit: Remove output_all_resource_defines from list of valid attributes. |6188884
* 6226981: [views-ax] Remove View::GetAccessibleNodeData() method |6226981
* 6214895: [views-ax] Deprecate View::NotifyAccessibilityEvent |6214895
* 6196494: Remove ImageView::SetImage() with ImageSkia param |6196494
* 6236267: [cleanup] Remove unused PrinterBasicInfo fields |6236267
* refactor: remove status, isDefault properties from PrinterInfo Xref:6236267
* chore: lint * fixup: added mas bypass to new file added in6208630
see slack for more context * chore: node script/gen-libc++-filenames.js * chore: e patches all * fix: duplicate crdtp symbols * chore: update patches * fixup! [Media Features] Remove launched features --------- Co-authored-by: alice <alice@makenotion.com> Co-authored-by: Charles Kerr <charles@charleskerr.com> Co-authored-by: deepak1556 <hop2deep@gmail.com>
64 lines
1.8 KiB
C++
64 lines
1.8 KiB
C++
// Copyright (c) 2014 GitHub, Inc.
|
|
// Use of this source code is governed by the MIT license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef ELECTRON_SHELL_BROWSER_UI_VIEWS_SUBMENU_BUTTON_H_
|
|
#define ELECTRON_SHELL_BROWSER_UI_VIEWS_SUBMENU_BUTTON_H_
|
|
|
|
#include <string>
|
|
|
|
#include "ui/base/metadata/metadata_header_macros.h"
|
|
#include "ui/base/metadata/metadata_impl_macros.h"
|
|
#include "ui/views/controls/button/menu_button.h"
|
|
|
|
namespace ui {
|
|
struct AXNodeData;
|
|
}
|
|
|
|
namespace electron {
|
|
|
|
// Special button that used by menu bar to show submenus.
|
|
class SubmenuButton : public views::MenuButton {
|
|
METADATA_HEADER(SubmenuButton, views::MenuButton)
|
|
|
|
public:
|
|
SubmenuButton(PressedCallback callback,
|
|
const std::u16string& title,
|
|
const SkColor& background_color);
|
|
~SubmenuButton() override;
|
|
|
|
// disable copy
|
|
SubmenuButton(const SubmenuButton&) = delete;
|
|
SubmenuButton& operator=(const SubmenuButton&) = delete;
|
|
|
|
void SetAcceleratorVisibility(bool visible);
|
|
void SetUnderlineColor(SkColor color);
|
|
|
|
char16_t accelerator() const { return accelerator_; }
|
|
|
|
void PaintButtonContents(gfx::Canvas* canvas) override;
|
|
|
|
private:
|
|
bool GetUnderlinePosition(const std::u16string& text,
|
|
char16_t* accelerator,
|
|
int* start,
|
|
int* end) const;
|
|
void GetCharacterPosition(const std::u16string& text,
|
|
int index,
|
|
int* pos) const;
|
|
|
|
char16_t accelerator_ = 0;
|
|
|
|
bool show_underline_ = false;
|
|
|
|
int underline_start_ = 0;
|
|
int underline_end_ = 0;
|
|
int text_width_ = 0;
|
|
int text_height_ = 0;
|
|
SkColor underline_color_ = SK_ColorBLACK;
|
|
SkColor background_color_;
|
|
};
|
|
|
|
} // namespace electron
|
|
|
|
#endif // ELECTRON_SHELL_BROWSER_UI_VIEWS_SUBMENU_BUTTON_H_
|