Moved MenuPrivate implementation to its own file. Made MenuPrivate.h
self-contained. Adjusted other files accordingly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31963 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -9,6 +9,7 @@
|
|||||||
#ifndef __MENU_PRIVATE_H
|
#ifndef __MENU_PRIVATE_H
|
||||||
#define __MENU_PRIVATE_H
|
#define __MENU_PRIVATE_H
|
||||||
|
|
||||||
|
#include <Menu.h>
|
||||||
|
|
||||||
enum menu_states {
|
enum menu_states {
|
||||||
MENU_STATE_TRACKING = 0,
|
MENU_STATE_TRACKING = 0,
|
||||||
|
|||||||
@@ -84,6 +84,7 @@ MergeObject <libbe>interface_kit.o :
|
|||||||
MenuBar.cpp
|
MenuBar.cpp
|
||||||
MenuField.cpp
|
MenuField.cpp
|
||||||
MenuItem.cpp
|
MenuItem.cpp
|
||||||
|
MenuPrivate.cpp
|
||||||
MenuWindow.cpp
|
MenuWindow.cpp
|
||||||
OptionControl.cpp
|
OptionControl.cpp
|
||||||
OptionPopUp.cpp
|
OptionPopUp.cpp
|
||||||
|
|||||||
@@ -14,7 +14,6 @@
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include <Bitmap.h>
|
|
||||||
#include <ControlLook.h>
|
#include <ControlLook.h>
|
||||||
#include <Debug.h>
|
#include <Debug.h>
|
||||||
#include <File.h>
|
#include <File.h>
|
||||||
@@ -77,11 +76,6 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
BBitmap *gMenuItemAlt;
|
|
||||||
BBitmap *gMenuItemControl;
|
|
||||||
BBitmap *gMenuItemOption;
|
|
||||||
BBitmap *gMenuItemShift;
|
|
||||||
|
|
||||||
} // namespace BPrivate
|
} // namespace BPrivate
|
||||||
|
|
||||||
|
|
||||||
@@ -89,66 +83,6 @@ menu_info BMenu::sMenuInfo;
|
|||||||
bool BMenu::sAltAsCommandKey;
|
bool BMenu::sAltAsCommandKey;
|
||||||
|
|
||||||
|
|
||||||
const unsigned char kCtrlBits[] = {
|
|
||||||
0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x13,0x04,0x04,0x13,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x04,0x04,0x04,0x1a,0x04,0x1a,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x04,0x1a,0x1a,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x04,0x1a,0x1a,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x13,0x04,0x04,0x13,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x04,0x04,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x14,
|
|
||||||
0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
const unsigned char kAltBits[] = {
|
|
||||||
0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x13,0x04,0x04,0x13,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x04,0x1a,0x1a,0x04,0x04,0x04,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x04,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x04,0x04,0x04,0x04,0x1a,0x04,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x04,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x04,0x04,0x04,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x14,
|
|
||||||
0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
const unsigned char kOptBits[] = {
|
|
||||||
0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x13,0x04,0x04,0x13,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x04,0x04,0x1a,0x04,0x04,0x04,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x04,0x1a,0x04,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x04,0x04,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x04,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x13,0x04,0x04,0x13,0x1a,0x04,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x14,
|
|
||||||
0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
const unsigned char kShiftBits[] = {
|
|
||||||
0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x17,0x04,0x04,0x17,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x04,0x17,0x17,0x04,0x1a,0x04,0x1a,0x04,0x1a,0x04,0x04,0x04,0x1a,0x04,0x04,0x04,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x17,0x04,0x04,0x17,0x1a,0x04,0x1a,0x04,0x1a,0x04,0x1a,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x1a,0x1a,0x1a,0x04,0x1a,0x04,0x04,0x04,0x1a,0x04,0x04,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x04,0x17,0x17,0x04,0x1a,0x04,0x1a,0x04,0x1a,0x04,0x1a,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x17,0x04,0x04,0x17,0x1a,0x04,0x1a,0x04,0x1a,0x04,0x1a,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
|
||||||
0x1d,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x14,
|
|
||||||
0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
static property_info sPropList[] = {
|
static property_info sPropList[] = {
|
||||||
{ "Enabled", { B_GET_PROPERTY, 0 },
|
{ "Enabled", { B_GET_PROPERTY, 0 },
|
||||||
{ B_DIRECT_SPECIFIER, 0 }, "Returns true if menu or menu item is enabled; false "
|
{ B_DIRECT_SPECIFIER, 0 }, "Returns true if menu or menu item is enabled; false "
|
||||||
@@ -2834,196 +2768,3 @@ get_menu_info(menu_info *info)
|
|||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// MenuPrivate
|
|
||||||
namespace BPrivate {
|
|
||||||
|
|
||||||
MenuPrivate::MenuPrivate(BMenu *menu)
|
|
||||||
:
|
|
||||||
fMenu(menu)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
menu_layout
|
|
||||||
MenuPrivate::Layout() const
|
|
||||||
{
|
|
||||||
return fMenu->Layout();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
MenuPrivate::ItemMarked(BMenuItem *item)
|
|
||||||
{
|
|
||||||
fMenu->_ItemMarked(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
MenuPrivate::CacheFontInfo()
|
|
||||||
{
|
|
||||||
fMenu->_CacheFontInfo();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float
|
|
||||||
MenuPrivate::FontHeight() const
|
|
||||||
{
|
|
||||||
return fMenu->fFontHeight;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float
|
|
||||||
MenuPrivate::Ascent() const
|
|
||||||
{
|
|
||||||
return fMenu->fAscent;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
BRect
|
|
||||||
MenuPrivate::Padding() const
|
|
||||||
{
|
|
||||||
return fMenu->fPad;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
MenuPrivate::GetItemMargins(float *left, float *top,
|
|
||||||
float *right, float *bottom) const
|
|
||||||
{
|
|
||||||
fMenu->GetItemMargins(left, top, right, bottom);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool
|
|
||||||
MenuPrivate::IsAltCommandKey() const
|
|
||||||
{
|
|
||||||
return fMenu->sAltAsCommandKey;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
MenuPrivate::State(BMenuItem **item) const
|
|
||||||
{
|
|
||||||
return fMenu->_State(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
MenuPrivate::Install(BWindow *window)
|
|
||||||
{
|
|
||||||
fMenu->_Install(window);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
MenuPrivate::Uninstall()
|
|
||||||
{
|
|
||||||
fMenu->_Uninstall();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
MenuPrivate::SetSuper(BMenu *menu)
|
|
||||||
{
|
|
||||||
fMenu->fSuper = menu;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
MenuPrivate::SetSuperItem(BMenuItem *item)
|
|
||||||
{
|
|
||||||
fMenu->fSuperitem = item;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
MenuPrivate::InvokeItem(BMenuItem *item, bool now)
|
|
||||||
{
|
|
||||||
fMenu->_InvokeItem(item, now);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
MenuPrivate::QuitTracking(bool thisMenuOnly)
|
|
||||||
{
|
|
||||||
fMenu->_QuitTracking(thisMenuOnly);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* static */
|
|
||||||
status_t
|
|
||||||
MenuPrivate::CreateBitmaps()
|
|
||||||
{
|
|
||||||
BRect smallRect(0, 0, 16, 10);
|
|
||||||
BRect largeRect(0, 0, 21, 10);
|
|
||||||
|
|
||||||
gMenuItemAlt = new BBitmap(smallRect, B_CMAP8);
|
|
||||||
gMenuItemControl = new BBitmap(smallRect, B_CMAP8);
|
|
||||||
gMenuItemOption = new BBitmap(smallRect, B_CMAP8);
|
|
||||||
gMenuItemShift = new BBitmap(largeRect, B_CMAP8);
|
|
||||||
|
|
||||||
gMenuItemAlt->ImportBits(kAltBits, sizeof(kAltBits),
|
|
||||||
17, 0, B_CMAP8);
|
|
||||||
gMenuItemControl->ImportBits(kCtrlBits, sizeof(kCtrlBits),
|
|
||||||
17, 0, B_CMAP8);
|
|
||||||
gMenuItemOption->ImportBits(kOptBits, sizeof(kOptBits),
|
|
||||||
17, 0, B_CMAP8);
|
|
||||||
gMenuItemShift->ImportBits(kShiftBits, sizeof(kShiftBits),
|
|
||||||
22, 0, B_CMAP8);
|
|
||||||
|
|
||||||
return B_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* static */
|
|
||||||
void
|
|
||||||
MenuPrivate::DeleteBitmaps()
|
|
||||||
{
|
|
||||||
delete gMenuItemAlt;
|
|
||||||
delete gMenuItemControl;
|
|
||||||
delete gMenuItemOption;
|
|
||||||
delete gMenuItemShift;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* static */
|
|
||||||
const BBitmap *
|
|
||||||
MenuPrivate::MenuItemCommand()
|
|
||||||
{
|
|
||||||
if (BMenu::sAltAsCommandKey)
|
|
||||||
return gMenuItemAlt;
|
|
||||||
|
|
||||||
return gMenuItemControl;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* static */
|
|
||||||
const BBitmap *
|
|
||||||
MenuPrivate::MenuItemControl()
|
|
||||||
{
|
|
||||||
if (BMenu::sAltAsCommandKey)
|
|
||||||
return gMenuItemControl;
|
|
||||||
|
|
||||||
return gMenuItemAlt;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* static */
|
|
||||||
const BBitmap *
|
|
||||||
MenuPrivate::MenuItemOption()
|
|
||||||
{
|
|
||||||
return gMenuItemOption;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* static */
|
|
||||||
const BBitmap *
|
|
||||||
MenuPrivate::MenuItemShift()
|
|
||||||
{
|
|
||||||
return gMenuItemShift;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
} // namespace BPrivate
|
|
||||||
|
|||||||
@@ -15,8 +15,8 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include <ControlLook.h>
|
|
||||||
#include <Bitmap.h>
|
#include <Bitmap.h>
|
||||||
|
#include <ControlLook.h>
|
||||||
#include <MenuItem.h>
|
#include <MenuItem.h>
|
||||||
#include <Shape.h>
|
#include <Shape.h>
|
||||||
#include <String.h>
|
#include <String.h>
|
||||||
|
|||||||
@@ -0,0 +1,267 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2001-2009, Haiku, Inc.
|
||||||
|
* Distributed under the terms of the MIT License.
|
||||||
|
*
|
||||||
|
* Authors:
|
||||||
|
* Stefano Ceccherini (stefano.ceccherini@gmail.com)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <MenuPrivate.h>
|
||||||
|
|
||||||
|
#include <Bitmap.h>
|
||||||
|
#include <Menu.h>
|
||||||
|
|
||||||
|
const unsigned char kCtrlBits[] = {
|
||||||
|
0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x13,0x04,0x04,0x13,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x04,0x04,0x04,0x1a,0x04,0x1a,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x04,0x1a,0x1a,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x04,0x1a,0x1a,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x13,0x04,0x04,0x13,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x04,0x04,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x14,
|
||||||
|
0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
const unsigned char kAltBits[] = {
|
||||||
|
0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x13,0x04,0x04,0x13,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x04,0x1a,0x1a,0x04,0x04,0x04,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x04,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x04,0x04,0x04,0x04,0x1a,0x04,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x04,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x04,0x04,0x04,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x14,
|
||||||
|
0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
const unsigned char kOptBits[] = {
|
||||||
|
0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x13,0x04,0x04,0x13,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x04,0x04,0x1a,0x04,0x04,0x04,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x04,0x1a,0x04,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x04,0x04,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x04,0x1a,0x1a,0x04,0x1a,0x04,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x13,0x04,0x04,0x13,0x1a,0x04,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x14,
|
||||||
|
0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
const unsigned char kShiftBits[] = {
|
||||||
|
0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x17,0x04,0x04,0x17,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x04,0x17,0x17,0x04,0x1a,0x04,0x1a,0x04,0x1a,0x04,0x04,0x04,0x1a,0x04,0x04,0x04,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x17,0x04,0x04,0x17,0x1a,0x04,0x1a,0x04,0x1a,0x04,0x1a,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x1a,0x1a,0x1a,0x04,0x1a,0x04,0x04,0x04,0x1a,0x04,0x04,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x04,0x17,0x17,0x04,0x1a,0x04,0x1a,0x04,0x1a,0x04,0x1a,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x17,0x04,0x04,0x17,0x1a,0x04,0x1a,0x04,0x1a,0x04,0x1a,0x1a,0x1a,0x1a,0x04,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x14,
|
||||||
|
0x1d,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x14,
|
||||||
|
0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace BPrivate {
|
||||||
|
|
||||||
|
BBitmap *gMenuItemAlt;
|
||||||
|
BBitmap *gMenuItemControl;
|
||||||
|
BBitmap *gMenuItemOption;
|
||||||
|
BBitmap *gMenuItemShift;
|
||||||
|
|
||||||
|
MenuPrivate::MenuPrivate(BMenu *menu)
|
||||||
|
:
|
||||||
|
fMenu(menu)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
menu_layout
|
||||||
|
MenuPrivate::Layout() const
|
||||||
|
{
|
||||||
|
return fMenu->Layout();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
MenuPrivate::ItemMarked(BMenuItem *item)
|
||||||
|
{
|
||||||
|
fMenu->_ItemMarked(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
MenuPrivate::CacheFontInfo()
|
||||||
|
{
|
||||||
|
fMenu->_CacheFontInfo();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
float
|
||||||
|
MenuPrivate::FontHeight() const
|
||||||
|
{
|
||||||
|
return fMenu->fFontHeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
float
|
||||||
|
MenuPrivate::Ascent() const
|
||||||
|
{
|
||||||
|
return fMenu->fAscent;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BRect
|
||||||
|
MenuPrivate::Padding() const
|
||||||
|
{
|
||||||
|
return fMenu->fPad;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
MenuPrivate::GetItemMargins(float *left, float *top,
|
||||||
|
float *right, float *bottom) const
|
||||||
|
{
|
||||||
|
fMenu->GetItemMargins(left, top, right, bottom);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool
|
||||||
|
MenuPrivate::IsAltCommandKey() const
|
||||||
|
{
|
||||||
|
return fMenu->sAltAsCommandKey;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int
|
||||||
|
MenuPrivate::State(BMenuItem **item) const
|
||||||
|
{
|
||||||
|
return fMenu->_State(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
MenuPrivate::Install(BWindow *window)
|
||||||
|
{
|
||||||
|
fMenu->_Install(window);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
MenuPrivate::Uninstall()
|
||||||
|
{
|
||||||
|
fMenu->_Uninstall();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
MenuPrivate::SetSuper(BMenu *menu)
|
||||||
|
{
|
||||||
|
fMenu->fSuper = menu;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
MenuPrivate::SetSuperItem(BMenuItem *item)
|
||||||
|
{
|
||||||
|
fMenu->fSuperitem = item;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
MenuPrivate::InvokeItem(BMenuItem *item, bool now)
|
||||||
|
{
|
||||||
|
fMenu->_InvokeItem(item, now);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
MenuPrivate::QuitTracking(bool thisMenuOnly)
|
||||||
|
{
|
||||||
|
fMenu->_QuitTracking(thisMenuOnly);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* static */
|
||||||
|
status_t
|
||||||
|
MenuPrivate::CreateBitmaps()
|
||||||
|
{
|
||||||
|
BRect smallRect(0, 0, 16, 10);
|
||||||
|
BRect largeRect(0, 0, 21, 10);
|
||||||
|
|
||||||
|
gMenuItemAlt = new BBitmap(smallRect, B_CMAP8);
|
||||||
|
gMenuItemControl = new BBitmap(smallRect, B_CMAP8);
|
||||||
|
gMenuItemOption = new BBitmap(smallRect, B_CMAP8);
|
||||||
|
gMenuItemShift = new BBitmap(largeRect, B_CMAP8);
|
||||||
|
|
||||||
|
gMenuItemAlt->ImportBits(kAltBits, sizeof(kAltBits),
|
||||||
|
17, 0, B_CMAP8);
|
||||||
|
gMenuItemControl->ImportBits(kCtrlBits, sizeof(kCtrlBits),
|
||||||
|
17, 0, B_CMAP8);
|
||||||
|
gMenuItemOption->ImportBits(kOptBits, sizeof(kOptBits),
|
||||||
|
17, 0, B_CMAP8);
|
||||||
|
gMenuItemShift->ImportBits(kShiftBits, sizeof(kShiftBits),
|
||||||
|
22, 0, B_CMAP8);
|
||||||
|
|
||||||
|
return B_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* static */
|
||||||
|
void
|
||||||
|
MenuPrivate::DeleteBitmaps()
|
||||||
|
{
|
||||||
|
delete gMenuItemAlt;
|
||||||
|
delete gMenuItemControl;
|
||||||
|
delete gMenuItemOption;
|
||||||
|
delete gMenuItemShift;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* static */
|
||||||
|
const BBitmap *
|
||||||
|
MenuPrivate::MenuItemCommand()
|
||||||
|
{
|
||||||
|
if (BMenu::sAltAsCommandKey)
|
||||||
|
return gMenuItemAlt;
|
||||||
|
|
||||||
|
return gMenuItemControl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* static */
|
||||||
|
const BBitmap *
|
||||||
|
MenuPrivate::MenuItemControl()
|
||||||
|
{
|
||||||
|
if (BMenu::sAltAsCommandKey)
|
||||||
|
return gMenuItemControl;
|
||||||
|
|
||||||
|
return gMenuItemAlt;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* static */
|
||||||
|
const BBitmap *
|
||||||
|
MenuPrivate::MenuItemOption()
|
||||||
|
{
|
||||||
|
return gMenuItemOption;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* static */
|
||||||
|
const BBitmap *
|
||||||
|
MenuPrivate::MenuItemShift()
|
||||||
|
{
|
||||||
|
return gMenuItemShift;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} // namespace BPrivate
|
||||||
Reference in New Issue
Block a user