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:
parent
c3d7cee2d9
commit
7a8567e61d
@ -9,6 +9,7 @@
|
||||
#ifndef __MENU_PRIVATE_H
|
||||
#define __MENU_PRIVATE_H
|
||||
|
||||
#include <Menu.h>
|
||||
|
||||
enum menu_states {
|
||||
MENU_STATE_TRACKING = 0,
|
||||
|
@ -84,6 +84,7 @@ MergeObject <libbe>interface_kit.o :
|
||||
MenuBar.cpp
|
||||
MenuField.cpp
|
||||
MenuItem.cpp
|
||||
MenuPrivate.cpp
|
||||
MenuWindow.cpp
|
||||
OptionControl.cpp
|
||||
OptionPopUp.cpp
|
||||
|
@ -14,7 +14,6 @@
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <Bitmap.h>
|
||||
#include <ControlLook.h>
|
||||
#include <Debug.h>
|
||||
#include <File.h>
|
||||
@ -77,11 +76,6 @@ public:
|
||||
};
|
||||
|
||||
|
||||
BBitmap *gMenuItemAlt;
|
||||
BBitmap *gMenuItemControl;
|
||||
BBitmap *gMenuItemOption;
|
||||
BBitmap *gMenuItemShift;
|
||||
|
||||
} // namespace BPrivate
|
||||
|
||||
|
||||
@ -89,66 +83,6 @@ menu_info BMenu::sMenuInfo;
|
||||
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[] = {
|
||||
{ "Enabled", { B_GET_PROPERTY, 0 },
|
||||
{ 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;
|
||||
}
|
||||
|
||||
|
||||
// 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 <string.h>
|
||||
|
||||
#include <ControlLook.h>
|
||||
#include <Bitmap.h>
|
||||
#include <ControlLook.h>
|
||||
#include <MenuItem.h>
|
||||
#include <Shape.h>
|
||||
#include <String.h>
|
||||
|
267
src/kits/interface/MenuPrivate.cpp
Normal file
267
src/kits/interface/MenuPrivate.cpp
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user