本文整理汇总了C++中JXColormap类的典型用法代码示例。如果您正苦于以下问题:C++ JXColormap类的具体用法?C++ JXColormap怎么用?C++ JXColormap使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了JXColormap类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: JXCheckbox
JXTextCheckbox::JXTextCheckbox
(
const JCharacter* label,
JXContainer* enclosure,
const HSizingOption hSizing,
const VSizingOption vSizing,
const JCoordinate x,
const JCoordinate y,
const JCoordinate w,
const JCoordinate h
)
:
JXCheckbox(enclosure, hSizing, vSizing, x,y, w,h),
itsLabel(label),
itsFontName(JGetDefaultFontName())
{
itsShortcuts = NULL;
itsULIndex = 0;
itsFontSize = kJDefaultFontSize;
// itsFontStyle already initialized to correct default
JXColormap* colormap = GetColormap();
itsNormalColor = colormap->GetDefaultBackColor();
itsPushedColor = colormap->GetDefaultSelButtonColor();
itsTrueLabelColor = itsFontStyle.color;
if (!IsActive())
{
itsFontStyle.color = colormap->GetInactiveLabelColor();
}
}
示例2: JXEditTable
JX2DCurveNameList::JX2DCurveNameList
(
const JArray<J2DCurveInfo>& curveInfo,
const JIndex startIndex,
JXScrollbarSet* scrollbarSet,
JXContainer* enclosure,
const HSizingOption hSizing,
const VSizingOption vSizing,
const JCoordinate x,
const JCoordinate y,
const JCoordinate w,
const JCoordinate h
)
:
JXEditTable(1, kDefColWidth, scrollbarSet, enclosure, hSizing,vSizing, x,y, w,h),
itsInput(NULL)
{
itsMinColWidth = 1;
const JFontManager* fontMgr = GetFontManager();
const JSize rowHeight = 2*kVMarginWidth +
fontMgr->GetDefaultFont().GetLineHeight();
SetDefaultRowHeight(rowHeight);
const JSize count = curveInfo.GetElementCount();
itsNameList = jnew JPtrArray<JString>(JPtrArrayT::kForgetAll, count);
assert(itsNameList != NULL);
AppendRows(count);
for (JIndex i=1; i<=count; i++)
{
const J2DCurveInfo info = curveInfo.GetElement(i);
itsNameList->Append(info.name);
const JCoordinate width = 2*kHMarginWidth +
fontMgr->GetDefaultFont().GetStringWidth(*(info.name));
if (width > itsMinColWidth)
{
itsMinColWidth = width;
}
}
AppendCols(1);
AdjustColWidth();
JXColormap* colormap = GetColormap();
SetRowBorderInfo(0, colormap->GetBlackColor());
SetColBorderInfo(0, colormap->GetBlackColor());
BeginEditing(JPoint(1, startIndex));
}
示例3: JXEditTable
GLFitDescriptionList::GLFitDescriptionList
(
JXScrollbarSet* scrollbarSet,
JXContainer* enclosure,
const HSizingOption hSizing,
const VSizingOption vSizing,
const JCoordinate x,
const JCoordinate y,
const JCoordinate w,
const JCoordinate h
)
:
JXEditTable(1, kDefColWidth, scrollbarSet, enclosure, hSizing,vSizing, x,y, w,h),
itsInput(NULL)
{
itsMinColWidth = 1;
const JFontManager* fontMgr = GetFontManager();
const JSize rowHeight = 2*kVMarginWidth + fontMgr->GetDefaultFont().GetLineHeight();
SetDefaultRowHeight(rowHeight);
const JSize count = GetFitManager()->GetFitCount();
itsNameList = jnew JPtrArray<JString>(JPtrArrayT::kDeleteAll);
assert(itsNameList != NULL);
AppendCols(1);
SyncWithManager();
JXColormap* colormap = GetColormap();
SetRowBorderInfo(0, colormap->GetBlackColor());
SetColBorderInfo(0, colormap->GetBlackColor());
itsBuiltInIcon = jnew JXImage(GetDisplay(), JXPM(glBuiltInFit));
assert(itsBuiltInIcon != NULL);
itsBuiltInIcon->ConvertToRemoteStorage();
itsNonLinearIcon = jnew JXImage(GetDisplay(), JXPM(glNonLinearFit));
assert(itsNonLinearIcon != NULL);
itsNonLinearIcon->ConvertToRemoteStorage();
itsPolyIcon = jnew JXImage(GetDisplay(), JXPM(glPolyFit));
assert(itsPolyIcon != NULL);
itsPolyIcon->ConvertToRemoteStorage();
itsExecutableIcon = jnew JXImage(GetDisplay(), JXPM(jx_executable_small));
assert( itsExecutableIcon != NULL );
itsExecutableIcon->ConvertToRemoteStorage();
ListenTo(GetFitManager());
}
示例4: GetColormap
TestWidget::~TestWidget()
{
JXColormap* colormap = GetColormap();
const JSize count = itsAnimColorList->GetElementCount();
for (JIndex i=1; i<=count; i++)
{
colormap->DeallocateColor( itsAnimColorList->GetElement(i) );
}
delete itsAnimColorList;
delete itsAnimColorTask;
delete itsXPMImage;
delete itsPartialXPMImage;
delete itsHomeImage;
delete itsImageBuffer;
}
示例5: GetColormap
void
ScrollingWidget::Draw
(
JXWindowPainter& p,
const JRect& rect
)
{
JXColormap* cmap = GetColormap();
// Drawing goes here
// See JPainter.h for available functions
p.SetPenColor(cmap->GetGreenColor());
p.Rect(10, 10, 50, 50);
p.SetFilling(kJTrue);
p.SetPenColor(cmap->GetBlueColor());
p.Rect(10, 70, 50, 50);
}
示例6: GetColormap
void
Widget::Draw
(
JXWindowPainter& p,
const JRect& rect
)
{
JXColormap* cmap = GetColormap();
// This is where everything happens
// See JPainter.h for available functions
p.SetPenColor(cmap->GetGreenColor());
p.Rect(10, 10, 50, 50);
p.SetFilling(kJTrue);
p.SetPenColor(cmap->GetBlueColor());
p.Rect(10, 70, 50, 50);
}
示例7: JXEditTable
GMAccountList::GMAccountList
(
GMAccountDialog* dialog,
JPtrArray<GMAccount>* accounts,
JXScrollbarSet* scrollbarSet,
JXContainer* enclosure,
const HSizingOption hSizing,
const VSizingOption vSizing,
const JCoordinate x,
const JCoordinate y,
const JCoordinate w,
const JCoordinate h
)
:
JXEditTable(1, kDefColWidth, scrollbarSet, enclosure, hSizing,vSizing, x,y, w,h),
itsInput(NULL),
itsDialog(dialog),
itsAccountInfo(accounts)
{
itsMinColWidth = 1;
JXColormap* colormap = GetColormap();
const JColorIndex blackColor = colormap->GetBlackColor();
SetRowBorderInfo(0, blackColor);
SetColBorderInfo(0, blackColor);
const JSize fontHeight =
(GetFontManager())->GetLineHeight(JGetDefaultFontName(),
kJDefaultFontSize, JFontStyle());
const JCoordinate rowHeight = fontHeight + 2*kVMarginWidth;
SetDefaultRowHeight(rowHeight);
SetAllRowHeights(rowHeight);
itsLineHeight =
GetFontManager()->GetLineHeight(JGetDefaultFontName(),
kJDefaultFontSize, JFontStyle()) + 2 * kVMarginWidth;
ListenTo(itsAccountInfo);
}
示例8: GetColormap
void
CBEditTextPrefsDialog::SetReverseVideoColors()
{
JXColormap* cmap = GetColormap();
ChangeColor(CBPrefsManager::kTextColorIndex, cmap->GetWhiteColor());
ChangeColor(CBPrefsManager::kBackColorIndex, cmap->GetBlackColor());
ChangeColor(CBPrefsManager::kCaretColorIndex, cmap->GetWhiteColor());
ChangeColor(CBPrefsManager::kSelColorIndex, cmap->GetBlueColor());
ChangeColor(CBPrefsManager::kSelLineColorIndex, cmap->GetCyanColor());
ChangeColor(CBPrefsManager::kRightMarginColorIndex, cmap->GetGrayColor(80));
}
示例9: JXWidget
ClipboardWidget::ClipboardWidget
(
const JCharacter* text,
JXMenuBar* menuBar,
JXContainer* enclosure,
const HSizingOption hSizing,
const VSizingOption vSizing,
const JCoordinate x,
const JCoordinate y,
const JCoordinate w,
const JCoordinate h
)
:
JXWidget(enclosure, hSizing, vSizing, x, y, w, h),
itsText(text)
{
// Set the background color.
JXColormap* cmap = GetColormap();
SetBackColor(cmap->GetWhiteColor());
// Create the menu and attach it to the menu bar.
itsEditMenu = menuBar->AppendTextMenu(kEditMenuTitleStr);
// Set the menu items.
itsEditMenu->SetMenuItems(kEditMenuStr);
// The menu items don't need to be disabled
itsEditMenu->SetUpdateAction(JXMenu::kDisableNone);
// Listen for messages from the menu.
ListenTo(itsEditMenu);
// Register the data types that we support. The atoms that we need
// here, namely text atoms, are already defined, so we don't need to
// define them again. If we had a special selection type we would use
// GetDisplay()->RegisterXAtom(OurAtomString) to register it.
}
示例10: GetColormap
void
ClipboardWidget::Draw
(
JXWindowPainter& p,
const JRect& rect
)
{
// We need the colormap in order to specify colors.
JXColormap* cmap = GetColormap();
// This is where everything happens
// See JPainter.h for available functions
// This sets the color of the pen.
p.SetPenColor(cmap->GetCyanColor());
// This draws our rectangle.
p.Rect(10, 10, 150, 50);
// This draws itsText.
p.String(20,20,itsText,
130, JPainter::kHAlignCenter,
30, JPainter::kVAlignCenter);
}
示例11: GetColormap
void
TestWidget::DrawStuff
(
JPainter& p
)
{
JIndex i;
JXColormap* colormap = GetColormap();
p.SetPenColor(colormap->GetGreenColor());
JRect ellipseRect(100,50,150,300);
p.Ellipse(ellipseRect);
p.SetPenColor(colormap->GetBlackColor());
if (itsFillFlag)
{
p.SetFilling(kJTrue);
}
JRect ap = GetAperture();
p.Line(ap.topLeft(), ap.bottomRight());
p.Line(ap.topRight(), ap.bottomLeft());
p.SetLineWidth(2);
p.SetFontName("Times");
p.SetFontSize(18);
p.Image(*itsHomeImage, itsHomeImage->GetBounds(), itsHomeRect);
its2Rect = JRect(150, 5, 200, 30);
p.SetPenColor(colormap->GetRedColor());
p.Rect(its2Rect);
p.SetFontStyle(colormap->GetRedColor());
p.String(its2Rect.topLeft(), "2",
its2Rect.width(), JPainter::kHAlignCenter,
its2Rect.height(), JPainter::kVAlignCenter);
its3Rect = JRect(10, 150, 40, 200);
p.SetPenColor(colormap->GetBlueColor());
p.Rect(its3Rect);
p.SetFontStyle(colormap->GetBlueColor());
p.String(its3Rect.topLeft(), "3",
its3Rect.width(), JPainter::kHAlignCenter,
its3Rect.height(), JPainter::kVAlignCenter);
p.SetLineWidth(1);
p.SetFont(GetFontManager()->GetDefaultFont());
p.ShiftOrigin(10,10);
p.Point(0,0);
for (i=1; i<=itsRandPointCount; i++)
{
p.Point(itsRNG.UniformLong(0,200), itsRNG.UniformLong(0,200));
}
p.SetPenColor(colormap->GetRedColor());
p.Line(10,0, 0,10);
p.SetPenColor(colormap->GetGreenColor());
p.LineTo(10,20);
p.SetPenColor(colormap->GetBlueColor());
p.LineTo(0,30);
p.ShiftOrigin(2,0);
JPoint textPt(40,30);
p.String( 0.0, textPt, "Hello");
p.String( 90.0, textPt, "Hello");
p.String(180.0, textPt, "Hello");
p.String(270.0, textPt, "Hello");
p.ShiftOrigin(-2, 0);
p.SetPenColor(colormap->GetBlueColor());
JRect r(70, 290, 150, 390);
p.Rect(r);
/*
for (JCoordinate y=70; y<150; y++)
{
p.SetPenColor(colormap->GetGrayColor(y-50));
p.Line(290,y, 390,y);
}
for (JCoordinate x=290; x<390; x++)
{
p.SetPenColor(colormap->GetGrayColor(x-290));
p.Line(x,70, x,150);
}
p.SetLineWidth(2);
for (JCoordinate y=70; y<150; y+=2)
{
p.SetPenColor(colormap->GetGrayColor(y%4 ? 40 : 60));
p.Line(290,y, 390,y);
}
p.SetLineWidth(1);
p.SetLineWidth(2);
//.........这里部分代码省略.........
示例12: JXScrollableWidget
//.........这里部分代码省略.........
assert( adviceMenu != NULL );
adviceMenu->SetMenuItems(kAdviceMenuStr[i-1]);
adviceMenu->SetUpdateAction(JXMenu::kDisableNone);
if (i == kAdviceBoldMenuIndex)
{
adviceMenu->SetItemFontStyle(2,
JFontStyle(kJTrue, kJFalse, 0, kJFalse, GetColormap()->GetBlackColor()));
}
prevMenu = adviceMenu;
prevMenuIndex = 2;
}
BuildXlsfontsMenu(itsActionsMenu, menuBar);
// secret menus are a bad idea because the user can't find them!
itsSecretMenu = jnew JXTextMenu("", this, kFixedLeft, kFixedTop, 0,0, 10,10);
assert( itsSecretMenu != NULL );
itsSecretMenu->SetMenuItems(kSecretMenuStr);
itsSecretMenu->SetUpdateAction(JXMenu::kDisableNone);
itsSecretMenu->SetToHiddenPopupMenu(kJTrue); // will assert() otherwise
itsSecretMenu->Hide();
ListenTo(itsSecretMenu);
itsSecretSubmenu = jnew JXTextMenu(itsSecretMenu, kSecretSubmenuIndex, this);
assert( itsSecretSubmenu != NULL );
itsSecretSubmenu->SetMenuItems(kSecretSubmenuStr);
itsSecretSubmenu->SetUpdateAction(JXMenu::kDisableNone);
// we don't ListenTo() it because it's only there for show
// image from xpm
itsXPMImage = jnew JXImage(GetDisplay(), JXPM(macapp_xpm));
assert( itsXPMImage != NULL );
// partial image from image
itsPartialXPMImage = jnew JXImage(*itsXPMImage, JRect(5,5,14,16));
assert( itsPartialXPMImage != NULL );
// home symbol
itsHomeImage = jnew JXImage(GetDisplay(), JXPM(home_xpm));
assert( itsHomeImage != NULL );
itsHomeRect = itsHomeImage->GetBounds();
itsHomeRect.Shift(120, 10);
// buffer contents of Widget in JXImage
itsImageBuffer = NULL;
if (isImage)
{
CreateImageBuffer();
}
// initial size
SetBounds(400,400);
// enclosed objects
itsAnimButton =
jnew JXTextButton("Start", this, JXWidget::kFixedLeft, JXWidget::kFixedTop,
37,175, 50,30);
assert( itsAnimButton != NULL );
itsAnimButton->SetShortcuts("#A");
ListenTo(itsAnimButton);
if (isMaster)
{
itsQuitButton =
jnew JXTextButton(JGetString("Quit::TestWidget"), this, JXWidget::kFixedRight, JXWidget::kFixedBottom,
x,y, 50,30);
assert( itsQuitButton != NULL );
JXColormap* colormap = GetColormap();
itsQuitButton->CenterWithinEnclosure(kJTrue, kJTrue);
itsQuitButton->SetFontStyle(JFontStyle(kJTrue, kJFalse, 0, kJFalse, colormap->GetRedColor()));
itsQuitButton->SetNormalColor(colormap->GetCyanColor());
itsQuitButton->SetPushedColor(colormap->GetBlueColor());
ListenTo(itsQuitButton);
}
else
{
itsQuitButton = NULL;
}
ExpandToFitContent();
// drops on iconfied window
JXWindowIcon* windowIcon;
const JBoolean hasIconWindow = GetWindow()->GetIconWidget(&windowIcon);
assert( hasIconWindow );
ListenTo(windowIcon);
}
示例13: GetColormap
void
JXColorWheel::Draw
(
JXWindowPainter& p,
const JRect& rect
)
{
JXColormap* colormap = GetColormap();
const JColorIndex black = colormap->GetBlackColor();
const JRect bounds = GetBoundsGlobal();
const JCoordinate max = JMin(bounds.height(), bounds.width() - kSliderWidth - kSliderMargin);
const JCoordinate size = max - 2*kWheelMargin - 1;
const JCoordinate center = size/2 + kWheelMargin;
if (itsImage == NULL || itsImage->GetWidth() != max || itsColor.brightness != itsLastDrawBrightness)
{
p.SetFilling(kJTrue);
p.SetPenColor(black);
p.Ellipse(kWheelMargin, kWheelMargin, size, size);
p.SetFilling(kJFalse);
JRect r = bounds;
r.bottom = r.top + max;
r.right = r.left + max;
jdelete itsImage;
itsImage = jnew JXImage(GetDisplay(), p.GetDrawable(), r);
assert( itsImage != NULL );
itsLastDrawBrightness = itsColor.brightness;
for (JCoordinate x=0; x<max; x++)
{
const JCoordinate dx = - x + center;
for (JCoordinate y=0; y<max; y++)
{
if (itsImage->GetColor(x,y) == black)
{
const JCoordinate dy = y - center;
const JFloat r = sqrt(dx*dx + dy*dy) / center;
const JFloat a = 0.5 + atan2(dy, dx) / (2.0 * kJPi);
JHSB color(JRound(a * kJMaxHSBValue), JRound(r * kJMaxHSBValue), itsLastDrawBrightness);
itsImage->SetColor(x,y, colormap->JColormap::GetColor(color));
}
}
}
itsImage->ConvertToRemoteStorage();
}
p.JPainter::Image(*itsImage, itsImage->GetBounds(), 0,0);
const JFloat r = (itsColor.saturation / kJMaxHSBValueF) * size/2;
const JFloat a = ((itsColor.hue / kJMaxHSBValueF) - 0.5) * 2.0 * kJPi;
const JCoordinate x = center - JRound(r * cos(a));
const JCoordinate y = center + JRound(r * sin(a));
JRect mark(y-kWheelMargin, x-kWheelMargin, y+kWheelMargin+1, x+kWheelMargin+1);
p.SetPenColor(colormap->GetWhiteColor());
p.SetFilling(kJTrue);
p.JPainter::Rect(mark);
p.SetFilling(kJFalse);
p.SetPenColor(black);
p.JPainter::Rect(mark);
}
示例14: GetNewSize
void
TestWidget::HandleActionsMenu
(
const JIndex index
)
{
if (index == kChangeSizeCmd)
{
GetNewSize();
}
else if (index == kToggleFillCmd)
{
itsFillFlag = JNegate(itsFillFlag);
Refresh();
}
else if (index == kShowHideCmd && IsVisible())
{
Hide();
itsActionsMenu->SetItemText(kShowHideCmd, kShowStr);
}
else if (index == kShowHideCmd)
{
Show();
itsActionsMenu->SetItemText(kShowHideCmd, kHideStr);
}
else if (index == kActDeactCmd && IsActive())
{
Deactivate();
itsActionsMenu->SetItemText(kActDeactCmd, kActivateStr);
}
else if (index == kActDeactCmd)
{
Activate();
itsActionsMenu->SetItemText(kActDeactCmd, kDeactivateStr);
}
else if (index == kRedGreenCmd)
{
JXColormap* colormap = GetColormap();
const JIndex redColor = colormap->GetRedColor();
itsAnimButton->SetFontStyle(itsNextAnimColor);
if (itsNextAnimColor == redColor)
{
itsNextAnimColor = colormap->GetGreenColor();
itsActionsMenu->SetItemText(kRedGreenCmd, kGreenStr);
}
else
{
itsNextAnimColor = redColor;
itsActionsMenu->SetItemText(kRedGreenCmd, kRedStr);
}
}
else if (index == kShowHideQuitCmd && itsQuitButton != NULL &&
itsQuitButton->WouldBeVisible())
{
itsQuitButton->Hide();
itsActionsMenu->SetItemText(kShowHideQuitCmd, kShowQuitStr);
}
else if (index == kShowHideQuitCmd && itsQuitButton != NULL)
{
itsQuitButton->Show();
itsActionsMenu->SetItemText(kShowHideQuitCmd, kHideQuitStr);
}
else if (index == kActDeactQuitCmd && itsQuitButton != NULL &&
itsQuitButton->WouldBeActive())
{
itsQuitButton->Deactivate();
itsActionsMenu->SetItemText(kActDeactQuitCmd, kActivateQuitStr);
}
else if (index == kActDeactQuitCmd && itsQuitButton != NULL)
{
itsQuitButton->Activate();
itsActionsMenu->SetItemText(kActDeactQuitCmd, kDeactivateQuitStr);
}
else if (index == kPrintSelectionTargetsCmd)
{
PrintSelectionTargets(CurrentTime);
}
else if (index == kPrintOldSelectionTargetsCmd)
{
PrintSelectionTargets((GetDisplay())->GetLastEventTime() - 10000);
}
}
示例15: JAccessDenied
JError
JXImage::CreateFromXPM
(
JXDisplay* display,
const JCharacter* fileName,
JXImage** image
)
{
#ifdef _J_HAS_XPM
JXColormap* colormap = display->GetColormap();
Pixmap image_pixmap = None;
Pixmap mask_pixmap = None;
XpmAttributes attr;
attr.valuemask = XpmVisual | XpmColormap | XpmDepth |
XpmExactColors | XpmCloseness |
XpmColorKey | XpmAllocCloseColors |
XpmReturnAllocPixels;
attr.visual = colormap->GetVisual();
attr.colormap = colormap->GetXColormap();
attr.depth = display->GetDepth();
attr.color_key = XPM_COLOR;
attr.alloc_pixels = NULL;
attr.nalloc_pixels = 0;
attr.alloc_close_colors = kJTrue; // so we can free all resulting pixels
attr.exactColors = 1;
attr.closeness = 0;
const int xpmErr =
XpmReadFileToPixmap(*display, display->GetRootWindow(),
const_cast<JCharacter*>(fileName),
&image_pixmap, &mask_pixmap, &attr);
if (xpmErr == XpmOpenFailed && JFileExists(fileName))
{
return JAccessDenied(fileName);
}
else if (xpmErr == XpmOpenFailed)
{
return JDirEntryDoesNotExist(fileName);
}
else if (xpmErr == XpmFileInvalid)
{
return FileIsNotXPM(fileName);
}
else if (xpmErr == XpmNoMemory)
{
return JNoProcessMemory();
}
else if (xpmErr == XpmColorFailed || xpmErr == XpmColorError)
{
if (image_pixmap != None)
{
XFreePixmap(*display, image_pixmap);
}
if (mask_pixmap != None)
{
XFreePixmap(*display, mask_pixmap);
}
if (attr.alloc_pixels != NULL)
{
XFreeColors(*display, attr.colormap, attr.alloc_pixels, attr.nalloc_pixels, 0);
}
XpmFreeAttributes(&attr);
return TooManyColors();
}
// create image and mask
*image = new JXImage(display, image_pixmap);
assert( *image != NULL );
XFreePixmap(*display, image_pixmap);
if (mask_pixmap != None)
{
JXImageMask* mask = new JXImageMask(display, mask_pixmap);
assert( mask != NULL );
(**image).SetMask(mask);
XFreePixmap(*display, mask_pixmap);
}
// free pixels so X has usage count of 1
XFreeColors(*display, attr.colormap, attr.alloc_pixels, attr.nalloc_pixels, 0);
// clean up
XpmFreeAttributes(&attr);
return JNoError();
#else
return XPMNotAvailable();
#endif
}