void SetupRC(void) { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); GLfloat bigColor[3] = { 1,1,1 }; GLfloat smallColor[3] = { 0.5f, 0.5f, 0.5f }; rectList[0] = MyRect(0, 0, 40, .6f, .6f, .8f, .7f, .6f); rectList[1] = MyRect(800 - 30, 600 - 30, 30, .6f, .6f, .5f, .7f, .9f); rectList[2] = MyRect(800 - 30, 0, 50, .6f, .6f, .3f, .5f, .7f); rectList[3] = MyRect(0, 600 - 30, 20, .6f, .6f, .4f, .7f, .6f); }
/* ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- */ void CMyHelpContainer::ConstructL() { CreateWindowL(); iBgContext = CAknsBasicBackgroundControlContext::NewL(KAknsIIDQsnBgAreaMain,TRect(0,0,1,1), ETrue); iMirroRed = AknLayoutUtils::LayoutMirrored(); iEditor = new (ELeave) CEikRichTextEditor; iEditor->SetAknEditorFlags(EAknEditorFlagEnableScrollBars); iEditor->SetContainerWindowL(*this); iEditor->ConstructL(this,0,0,0); iEditor->CreateScrollBarFrameL(); iEditor->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EAuto, CEikScrollBarFrame::EAuto); TCharFormat charFormat; TCharFormatMask charFormatMask; _LIT(KFontArial,"Arial"); TRgb textcol; MAknsSkinInstance* skin = AknsUtils::SkinInstance(); AknsUtils::GetCachedColor(skin,textcol,KAknsIIDQsnTextColors,EAknsCIQsnTextColorsCG6); charFormat.iFontSpec = AknLayoutUtils::FontFromId(EAknLogicalFontPrimaryFont)->FontSpecInTwips(); charFormat.iFontPresentation.iTextColor = TLogicalRgb(textcol);; charFormatMask.SetAll(); iParaformMe = CParaFormatLayer::NewL(); iCharformMe = CCharFormatLayer::NewL(charFormat,charFormatMask); iRichMessageMe = CRichText::NewL(iParaformMe,iCharformMe); AddTextToEditorL(); iEditor->SetDocumentContentL(*iRichMessageMe); iEditor->SetDocumentContentL(*iRichMessageMe); iEditor->SetCursorPosL(0,EFalse); iEditor->SetFocus(EFalse); iEditor->SetFocusing(ETrue); TRect MyRect(CEikonEnv::Static()->EikAppUi()->ClientRect()); SetRect(MyRect); ActivateL(); DrawNow(); SizeChanged(); iEditor->ClearSelectionL(); iEditor->MoveCursorL(TCursorPosition::EFPageUp, EFalse); iEditor->MoveCursorL(TCursorPosition::EFPageUp, EFalse); iEditor->MoveCursorL(TCursorPosition::EFPageUp, EFalse); iEditor->MoveCursorL(TCursorPosition::EFPageUp, EFalse); iEditor->MoveCursorL(TCursorPosition::EFPageUp, EFalse); iEditor->MoveCursorL(TCursorPosition::EFPageUp, EFalse); iEditor->MoveCursorL(TCursorPosition::EFPageUp, EFalse); iEditor->MoveCursorL(TCursorPosition::EFPageUp, EFalse); iEditor->UpdateScrollBarsL(); iEditor->DrawNow(); }
void font_window(int a,int b,int c,char *name,char *style) { FontWindow *wi; wi = new FontWindow(a,b,c,name,style,MyRect(200,200,400,150)); wi->Show(); }
void EditButtonWindow::SetMenu(void) { BButton *e; e = CreateButton(MyRect(10,10,120,25),GetMessage(msg_list),tab_menu_editlist); vie2->AddChild(e); }
/***************************************************** ** ** VedicRasiChart --- paintCenterString ** ******************************************************/ void VedicRasiChart::paintCenterString() { if ( chartprops->getVedicGraphicStyle().centerInfoType == VGRAPHIC_CHART_CENTER_NOTHING ) return; setDefaultTextColor(); if ( centerstring_graphic ) painter->setSymbolFont( symbolzoom ); else painter->setGraphicFont( textzoom ); painter->drawSimpleText( MyRect( xcenter - xr, ycenter - yr, 2 * xr, 2 * yr ), getCenterString() ); }
void EditButtonWindow::SetTab(void) { BMenu *menu; BMenuField *a,*b; SpinControl *c,*d; BButton *e; int tb; menu = CreateMenu(this,&true_false[0],tab_focus,gad->focus); a = CreateMx(MyRect(10,10,180,25),GetMessage(msg_focus),menu,16); switch(gad->data.tab.tabwidth) { case B_WIDTH_FROM_WIDEST: tb = 0; break; case B_WIDTH_AS_USUAL: tb = 1; break; case B_WIDTH_FROM_LABEL: tb = 2; break; } menu = CreateMenu(this,&mtab_width[0],tab_tab_width,tb); b = CreateMx(MyRect(10,35,180,25),GetMessage(msg_tabwidth),menu,16); c = CreateSpin(MyRect(10,60,180,18),GetMessage(msg_tabheight),tab_tab_height,0,100,gad->data.tab.tabheight,16); d = CreateSpin(MyRect(10,85,180,18),GetMessage(msg_selected),tab_tab_selected,0,100,gad->data.tab.sel,16); e = CreateButton(MyRect(240,10,120,25),GetMessage(msg_list),tab_tab_list); vie2->AddChild(a); vie2->AddChild(b); vie2->AddChild(c); vie2->AddChild(d); vie2->AddChild(e); SetColorGadget(110); }
void SGDisplayDATATYPE::HandleRedraw(SGRedrawInfo *RedrawInfo, SGMiscInfo *MiscInfo) { // First, inform the system that we are about to start rendering this item StartRendering(RedrawInfo, MiscInfo); DocRect MyRect(FormatRect); // Get my redraw position from the cached FormatRect RenderRegion *Renderer = RedrawInfo->Renderer; INT32 OnePixel = (INT32) DevicePixels(MiscInfo, 1); INT32 TwoPixels = (INT32) DevicePixels(MiscInfo, 2); Renderer->SetLineWidth(0); Renderer->SetLineColour(RedrawInfo->Transparent); // First, render the icon at the left end of our rectangle DocRect IconRect(MyRect); IconRect.hi.x = IconRect.lo.x + IconRect.Height(); // Make it a square MyRect.lo.x = IconRect.hi.x + TwoPixels; // And exclude it from 'MyRect' // Redraw the icon GridLockRect(MiscInfo, &IconRect); // Ensure it maps exactly to specific pixels IconRect.Inflate(-OnePixel, -OnePixel); // Leave a bit of space around the edge Renderer->SetFillColour(DocColour(COLOUR_RED)); Renderer->DrawRect(&IconRect); GridLockRect(MiscInfo, &MyRect); // Ensure the new 'MyRect' is pixel-grid-aligned // Set up the colours for rendering our text, and fill the background if selected if (Flags.Selected) { // Fill the entire background with the 'selected' colour, so we don't // get gaps between bits of text or uneven rectangles in multiple selections Renderer->SetFillColour(RedrawInfo->SelBackground); Renderer->DrawRect(&MyRect); Renderer->SetFixedSystemTextColours(&RedrawInfo->SelForeground, &RedrawInfo->SelBackground); } else Renderer->SetFixedSystemTextColours(&RedrawInfo->Foreground, &RedrawInfo->Background); MyRect.lo.x += SG_GapBeforeText; // Leave a small gap before text begins // And render the text String_256 MyText; GetNameText(&MyText); Renderer->DrawFixedSystemText(&MyText, MyRect); // Finally, inform the system that we have completed rendering this item StopRendering(RedrawInfo, MiscInfo); }
BOOL SGDisplayDATATYPE::HandleEvent(SGEventType EventType, void *EventInfo, SGMiscInfo *MiscInfo) { switch (EventType) { case SGEVENT_FORMAT: { SGFormatInfo *FormatInfo = GetFormatInfo(EventType, EventInfo); CalculateMyRect(FormatInfo, MiscInfo); // Cache our FormatRect for later use } break; case SGEVENT_REDRAW: { DocRect MyRect(FormatRect); // Rely on FormatRect being cached from above SGRedrawInfo *RedrawInfo = GetRedrawInfo(EventType, EventInfo); if (IMustRedraw(RedrawInfo)) // only redraw if we intersect the clip rect HandleRedraw(RedrawInfo, MiscInfo); } break; // exit and return FALSE to pass the redraw event on case SGEVENT_MOUSECLICK: { SGMouseInfo *Mouse = GetMouseInfo(EventType, EventInfo); if (FormatRect.ContainsCoord(Mouse->Position)) { // Test for drag... **** !!!! ToDo !!!! **** // DefaultDragHandler(Mouse, MiscInfo); // No drag, so move on to normal selection click handling DefaultClickHandler(Mouse, MiscInfo); return(TRUE); // Claim this event - nobody else can own this click } } break; default: // Let the base class handle any events we don't know about. // This includes things like hit testing (CLAIMPOINT) etc return(SGDisplayItem::HandleEvent(EventType, EventInfo, MiscInfo)); } // Default return value: We do not claim this event, so it will be passed on to others return(FALSE); }
void DjvuPic::Create( CreateMode mode ) { Destroy(); if(mode==IN_MEMORY || mode==NORMAL) { SetForeground(); SetBackground(); if(mode==NORMAL) SetBuffer(FullName); if(CenterRotate.angle) Rotate(); ViewRgn=MyRect(0,0,Parent->Wnd.Width(),Parent->Wnd.Height()); for(int i=0;i<Zones.GetSize();i++) { if(Zones[i]) Zones[i]->Create(); } } return; }
DjvuPic::DjvuPic(CString name,OutputWnd *parent)//: PicLock(true,false) { Buffer=Background=Foreground=0; BckgRgn=MyRect(0,0,2,2); IsBckgFile=IsFrgFile=IsDjvuFile=false; FullName=Path=Name=Ext=FrgFile=BckgFile=DjvuFile="None"; ZonesActive.Eql(0); Zones.RemoveAll(); Parent=parent; FullName=name; ProcessFullName(); GetPicDim(); Buffer=new BMPanvas(); Foreground=new BMPanvas(); Background=new BMPanvas(); Param.dd=CPoint(2,2); }
/***************************************************** ** ** VedicRasiChart --- paintSouth ** ******************************************************/ void VedicRasiChart::paintSouth() { int i; const double xstep = .5 * xr; const double ystep = .5 * yr; painter->setPen( defaultPen ); // Rasi coordinates, single mode only const MyRect rasi_rect[12] = { MyRect( xcenter - xstep, ycenter - 2 * ystep, xstep, ystep ), MyRect( xcenter, ycenter - 2 * ystep, xstep, ystep ), MyRect( xcenter + xstep, ycenter - 2 * ystep, xstep, ystep ), MyRect( xcenter + xstep, ycenter - ystep, xstep, ystep ), MyRect( xcenter + xstep, ycenter, xstep, ystep ), MyRect( xcenter + xstep, ycenter + ystep, xstep, ystep ), MyRect( xcenter, ycenter + ystep, xstep, ystep ), MyRect( xcenter - xstep, ycenter + ystep, xstep, ystep ), MyRect( xcenter - 2 * xstep, ycenter + ystep, xstep, ystep ), MyRect( xcenter - 2 * xstep, ycenter, xstep, ystep ), MyRect( xcenter - 2 * xstep, ycenter-ystep, xstep, ystep ), MyRect( xcenter - 2 * xstep, ycenter - 2 * ystep, xstep, ystep ) }; // Rasi coordinates for 1st chart (double mode only) const MyRect planet1_rect[12] = { MyRect( xcenter - xstep, ycenter - 1.5 * ystep, xstep, ystep / 2 ), MyRect( xcenter, ycenter - 1.5 * ystep, xstep, ystep / 2 ), MyRect( xcenter + xstep, ycenter - 1.5 * ystep, xstep / 2, ystep / 2 ), MyRect( xcenter + xstep, ycenter - ystep, xstep / 2, ystep ), MyRect( xcenter + xstep, ycenter, xstep / 2, ystep ), MyRect( xcenter + xstep, ycenter + ystep, xstep / 2, ystep / 2 ), MyRect( xcenter, ycenter + ystep, xstep, ystep / 2 ), MyRect( xcenter - xstep, ycenter + ystep, xstep, ystep / 2 ), MyRect( xcenter - 1.5 * xstep, ycenter + ystep, xstep / 2, ystep / 2 ), MyRect( xcenter - 1.5 * xstep, ycenter, xstep / 2, ystep ), MyRect( xcenter - 1.5 * xstep, ycenter-ystep, xstep / 2, ystep ), MyRect( xcenter - 1.5 * xstep, ycenter - 1.5 * ystep, xstep / 2, ystep / 2 ) }; // Rasi coordinates for 2nd chart (double mode only) const MyRect planet2_rect[12] = { MyRect( xcenter - xstep, ycenter - 2 * ystep, xstep, ystep / 2 ), MyRect( xcenter, ycenter - 2 * ystep, xstep, ystep / 2 ), MyRect( xcenter + xstep, ycenter - 2 * ystep, xstep, ystep / 2 ), MyRect( xcenter + 1.5 * xstep, ycenter - ystep, xstep / 2, ystep ), MyRect( xcenter + 1.5 * xstep, ycenter, xstep / 2, ystep ), MyRect( xcenter + xstep, ycenter + 1.5 * ystep, xstep, ystep / 2 ), MyRect( xcenter, ycenter + 1.5 * ystep, xstep, ystep / 2 ), MyRect( xcenter - xstep, ycenter + 1.5 * ystep, xstep, ystep / 2 ), MyRect( xcenter - 2 * xstep, ycenter + 1.5 * ystep, xstep, ystep / 2 ), MyRect( xcenter - 2 * xstep, ycenter, xstep / 2, ystep ), MyRect( xcenter - 2 * xstep, ycenter-ystep, xstep / 2, ystep ), MyRect( xcenter - 2 * xstep, ycenter - 2 * ystep, xstep, ystep / 2 ) }; // rectangle for separation of double charts const MyRect transit_rect( xcenter - 1.5 * xstep, ycenter - 1.5 * ystep, 3 * xstep, 3 * ystep ); GcZodiacalSigns *signs = &vconf->signs; if ( signs->needsBgPaint() ) { for ( i = ARIES; i <= PISCES; i++ ) { painter->setBrush( signs->getBrush( i )); painter->setTransparentPen(); //painter->setDefaultPen(); painter->drawRectangle( rasi_rect[i] ); } } paintOuterRectangle(); painter->setPen( defaultPen ); painter->setTransparentBrush(); painter->drawLine( xcenter - xr + xstep, ycenter - yr, xcenter - xr + xstep, ycenter + yr ); painter->drawLine( xcenter - xr + 3 * xstep, ycenter - yr, xcenter - xr + 3 * xstep, ycenter + yr ); painter->drawLine( xcenter - xr + 2 * xstep, ycenter - yr, xcenter-xr + 2 * xstep, ycenter - yr + ystep ); painter->drawLine( xcenter - xr + 2 * xstep, ycenter + yr - ystep, xcenter - xr + 2 * xstep, ycenter + yr ); painter->drawLine( xcenter - xr, ycenter - yr + ystep, xcenter + xr, ycenter - yr + ystep ); painter->drawLine( xcenter - xr, ycenter - yr + 3 * ystep, xcenter + xr, ycenter - yr + 3 * ystep ); painter->drawLine( xcenter - xr, ycenter - yr + 2 * ystep, xcenter - xr + xstep, ycenter - yr + 2 * ystep ); painter->drawLine( xcenter + xr - xstep, ycenter - yr + 2 * ystep, xcenter + xr, ycenter - yr + 2 * ystep ); // TODO soll das so bleiben, 3-mal if ( chart_count > 1 ) painter->drawRectangle( transit_rect ); if ( ! chartprops->isBlank() ) { for ( i = ARIES; i <= PISCES; i++ ) { if ( chart_count == 1 ) drawFieldText( rasi_rect[i], i, Align::Center, 0 ); else { drawFieldText( planet1_rect[i], i, Align::Center, 0 ); drawFieldText( planet2_rect[i], i, Align::Center, 1 ); } } paintCenterString(); } painter->setGraphicFont( textzoom ); }
/***************************************************** ** ** VedicRasiChart --- paintEast ** ******************************************************/ void VedicRasiChart::paintEast() { int i; // inner square of chart const double xi = xr*0.28; const double yi = yr*0.28; // middle square for separation of 2 charts const double ri_prop = .4; const double xm = ri_prop * xi + ( 1 - ri_prop ) * xr; const double ym = ri_prop * yi + ( 1 - ri_prop ) * yr; const double text_border = xr / 30.0; // Rasi coordinates in single mode const MyRect rasi_rect[12] = { MyRect( xcenter - xi, ycenter - yr, 2 * xi, yr - yi ), MyRect( xcenter - xr, ycenter - yr, xr - xi, yr - yi ), MyRect( xcenter - xr, ycenter - yr, xr - xi, yr - yi ), MyRect( xcenter - xr, ycenter - yi, xr - xi, 2 * yi ), MyRect( xcenter - xr, ycenter + yi, xr - xi, yr - yi ), MyRect( xcenter - xr, ycenter + yi, xr - xi, yr - yi ), MyRect( xcenter - xi, ycenter + yi, 2 * xi, yr - yi ), MyRect( xcenter + xi, ycenter + yi, xr - xi, yr - yi ), MyRect( xcenter + xi, ycenter + yi, xr - xi, yr - yi ), MyRect( xcenter + xi, ycenter - yi, xr - xi, 2 * yi ), MyRect( xcenter + xi, ycenter - yr, xr - xi, yr - yi ), MyRect( xcenter + xi, ycenter - yr, xr - xi, yr - yi ), }; // Rasi coordinates for 1st chart (only in double mode) const MyRect planet1_rect[12] = { MyRect( xcenter - xi, ycenter - ym, 2 * xi, yr - ym ), MyRect( xcenter - xm, ycenter - ym, xm - xi, ym - yi ), MyRect( xcenter - xm, ycenter - ym, xm - xi, ym - yi ), MyRect( xcenter - xm, ycenter - yi, xm - xi, 2 * yi ), MyRect( xcenter - xm, ycenter + yi, xm - xi, ym - yi ), MyRect( xcenter - xm, ycenter + yi, xm - xi, ym - yi ), MyRect( xcenter - xi, ycenter + yi, 2 * xi, ym - yi ), MyRect( xcenter + xi, ycenter + yi, xm - xi, ym - yi ), MyRect( xcenter + xi, ycenter + yi, xm - xi, ym - yi ), MyRect( xcenter + xi, ycenter - yi, xm - xi, 2 * yi ), MyRect( xcenter + xi, ycenter - ym, xm - xi, ym - yi ), MyRect( xcenter + xi, ycenter - ym, xm - xi, ym - yi ) }; // Rasi coordinates for 2nd chart (only in double mode) const MyRect planet2_rect[12] = { MyRect( xcenter - xi, ycenter - yr, 2 * xi, yr - ym ), MyRect( xcenter - xm, ycenter - yr, xm - xi, yr - ym ), MyRect( xcenter - xr, ycenter - yr, xr - xi, yr - yi ), MyRect( xcenter - xr, ycenter - yi, xr - xm, 2 * yi ), MyRect( xcenter - xr, ycenter + yi, xr - xm, yr - yi ), MyRect( xcenter - xm, ycenter + ym, xr - xm, yr - ym ), MyRect( xcenter - xi, ycenter + ym, 2 * xi, yr - ym ), MyRect( xcenter + xi, ycenter + ym, xr - xm, yr - ym ), MyRect( xcenter + xm, ycenter + yi, xr - xm, yr - yi ), MyRect( xcenter + xm, ycenter - yi, xr - xm, 2 * yi ), MyRect( xcenter + xm, ycenter - ym, xr - xm, yr - ym ), MyRect( xcenter + xi, ycenter - yr, xr - xi, yr - ym ), }; // Text alignment for rasis const int rasi_alignment[12] = { Align::Center, Align::Right + Align::Top, Align::Left + Align::Bottom, Align::Center, Align::Left + Align::Top, Align::Right + Align::Bottom, Align::Center, Align::Left + Align::Bottom, Align::Right + Align::Top, Align::Center, Align::Right + Align::Bottom, Align::Left + Align::Top }; // rectangle for separation of double charts const MyRect transit_rect( xcenter - xm, ycenter - ym, 2 * xm, 2 * ym ); painter->setPen( defaultPen ); // draw filled polygons resp. rectangles if required GcZodiacalSigns *signs = &vconf->signs; if ( signs->needsBgPaint() ) { painter->setTransparentPen(); int a = 0; painter->setBrush( signs->getBrush( a )); painter->drawRectangle( xcenter - xi, ycenter - yr, 2 * xi, yr - yi ); painter->setBrush( signs->getBrush( a + 1 )); MyPoint ptaurus[3] = { MyPoint( xcenter - xr, ycenter - yr ), MyPoint( xcenter - xi, ycenter - yr ), MyPoint( xcenter-xi, ycenter - yi ) }; painter->drawPolygon( 3, ptaurus ); painter->setBrush( signs->getBrush( a + 2 )); MyPoint pgem[3] = { MyPoint( xcenter - xr, ycenter - yr ), MyPoint( xcenter-xr, ycenter - yi ), MyPoint( xcenter - xi, ycenter - yi ) }; painter->drawPolygon( 3, pgem ); painter->setBrush( signs->getBrush( a + 3 )); painter->drawRectangle( xcenter - xr, ycenter - yi, xr - xi, 2 * yi ); painter->setBrush( signs->getBrush( a + 4 )); MyPoint pleo[3] = { MyPoint( xcenter - xr, ycenter + yi ), MyPoint( xcenter - xi, ycenter + yi ), MyPoint( xcenter - xr, ycenter + yr ) }; painter->drawPolygon( 3, pleo ); painter->setBrush( signs->getBrush( a + 5 )); MyPoint pvirgo[3] = { MyPoint( xcenter - xr, ycenter + yr ), MyPoint( xcenter - xi, ycenter + yr ), MyPoint( xcenter - xi, ycenter + yi ) }; painter->drawPolygon( 3, pvirgo ); painter->setBrush( signs->getBrush( a + 6 )); painter->drawRectangle( xcenter - xi, ycenter + yi, 2 * xi, yr - yi ); painter->setBrush( signs->getBrush( a + 7 )); MyPoint pscorp[3] = { MyPoint( xcenter + xi, ycenter + yr ), MyPoint( xcenter + xr, ycenter + yr ), MyPoint( xcenter + xi, ycenter + yi ) }; painter->drawPolygon( 3, pscorp ); painter->setBrush( signs->getBrush( a + 8 )); MyPoint p2[3] = { MyPoint( xcenter + xi, ycenter + yi ), MyPoint( xcenter + xr, ycenter + yi ), MyPoint( xcenter + xr, ycenter + yr ) }; painter->drawPolygon( 3, p2 ); painter->setBrush( signs->getBrush( a + 9 )); painter->drawRectangle( xcenter + xi, ycenter - yi, xr - xi, 2 * yi ); painter->setBrush( signs->getBrush( a + 10 )); MyPoint paqua[3] = { MyPoint( xcenter + xi, ycenter - yi ), MyPoint( xcenter + xr, ycenter - yi ), MyPoint( xcenter + xr, ycenter - yr ) }; painter->drawPolygon( 3, paqua ); painter->setBrush( signs->getBrush( a + 11 )); MyPoint ppisc[3] = { MyPoint( xcenter + xi, ycenter - yr ), MyPoint( xcenter + xr, ycenter - yr ), MyPoint( xcenter + xi, ycenter - yi ) }; painter->drawPolygon( 3, ppisc ); } paintOuterRectangle(); painter->setPen( defaultPen ); painter->drawLine( xcenter - xi, ycenter - yr, xcenter - xi, ycenter + yr ); painter->drawLine( xcenter + xi, ycenter-yr, xcenter+xi, ycenter+yr ); painter->drawLine( xcenter - xr, ycenter + yi, xcenter + xr, ycenter + yi ); painter->drawLine( xcenter - xr, ycenter - yi, xcenter + xr, ycenter - yi ); painter->drawLine( xcenter - xr, ycenter + yr, xcenter - xi, ycenter + yi ); painter->drawLine( xcenter - xr, ycenter - yr, xcenter - xi, ycenter - yi ); painter->drawLine( xcenter + xr, ycenter + yr, xcenter + xi, ycenter + yi ); painter->drawLine( xcenter + xr, ycenter - yr, xcenter + xi, ycenter - yi ); if ( chart_count == 2 ) painter->drawRectangle( transit_rect ); painter->setBrush( defaultBrush ); if ( ! chartprops->isBlank() ) { for ( i = ARIES; i <= PISCES; i++ ) { if ( chart_count == 1 ) drawFieldText( rasi_rect[i], i, rasi_alignment[i], 0, text_border ); else { drawFieldText( planet1_rect[i], i, rasi_alignment[i], 0, text_border ); drawFieldText( planet2_rect[i], i, rasi_alignment[i], 1, text_border ); } } paintCenterString(); } painter->setGraphicFont( textzoom ); }
/***************************************************** ** ** VedicRasiChart --- paintNorth ** ******************************************************/ void VedicRasiChart::paintNorth() { Lang lang; wxString s; int current, i; // used for sign number/symbol display const double rtol = xmax / 15.0; // used for free space in the middle of the chart (leave free for center string if required) const double mtol = xmax / 100.0; // 1/4 of the chart const double xi = .5 * xr; const double yi = .5 * yr; // middle square for separation of 2 charts (transit or partner mode) const double ri_prop = .4; const double xm = ri_prop * xi + ( 1 - ri_prop ) * xr; const double ym = ri_prop * yi + ( 1 - ri_prop ) * yr; // text separation from chart border const double text_border = xr / 30.0; // Rasi coordinates in single mode const MyRect rasi_rect[12] = { MyRect( xcenter - xi, ycenter - yr, xr, yr ), MyRect( xcenter - xr, ycenter - yr, xr, yi ), MyRect( xcenter - xr, ycenter - yr, xr, yr ), MyRect( xcenter - xr, ycenter - yi, xr, yr ), MyRect( xcenter - xr, ycenter, xi, yr ), MyRect( xcenter - xr, ycenter + yi, xr, yi ), MyRect( xcenter - xi, ycenter, xr, yr ), MyRect( xcenter, ycenter + yi, xr, yi ), MyRect( xcenter, ycenter, xr, yr ), MyRect( xcenter, ycenter - yi, xr, yr ), MyRect( xcenter + xi, ycenter - yr, xi, yr ), MyRect( xcenter, ycenter - yr, xr, yi ) }; // Rasi coordinates for 2nd chart (only in double mode) const MyRect planet1_rect[12] = { MyRect( xcenter - xi, ycenter - ym, xr, xm ), MyRect( xcenter - xm, ycenter - ym, xi, ym ), MyRect( xcenter - xm, ycenter - yr, xr - xm, yr ), MyRect( xcenter - xm, ycenter - yi, xm, yr ), MyRect( xcenter - xm, ycenter, xr - xm, yr ), MyRect( xcenter - xr, ycenter + yi, xr, ym - yi ), MyRect( xcenter - xi, ycenter, xr, ym ), MyRect( xcenter + xi / 2, ycenter + yi, xi, ym - yi ), MyRect( xcenter + xi, ycenter, xm - xi, yr ), MyRect( xcenter, ycenter - yi, xm, yr ), MyRect( xcenter + xi, ycenter - ym, xm - xi, ym ), MyRect( xcenter + xi / 2, ycenter - ym, xi, ym - xi ) }; // Rasi coordinates for 2nd chart (only in double mode) const MyRect planet2_rect[12] = { MyRect( xcenter - xi, ycenter - yr, xr, yr - ym ), MyRect( xcenter - xr, ycenter - yr, xr, yr - ym ), MyRect( xcenter - xr, ycenter - yr, xr - xm, yr ), MyRect( xcenter - xr, ycenter - yi, xr - xm, yr ), MyRect( xcenter - xr, ycenter, xr - xm, yr ), MyRect( xcenter - xr, ycenter + ym, xr, yr - ym ), MyRect( xcenter - xi, ycenter + ym, xr, yr - ym ), MyRect( xcenter, ycenter + ym, xr, yr - ym ), MyRect( xcenter + xm, ycenter, xr - xm, yr ), MyRect( xcenter + xm, ycenter - yi, xr - xm, yr ), MyRect( xcenter + xm, ycenter - yr, xr - xm, yr ), MyRect( xcenter, ycenter - yr, xr, yr - ym ) }; // Rectangles for sign names resp. numbers const MyRect sign_rect[12] = { MyRect( xcenter - rtol, ycenter - rtol, 2 * rtol, rtol ), MyRect( xcenter - xi - rtol / 2, ycenter - yi - rtol, rtol, rtol ), MyRect( xcenter - xi - rtol, ycenter - yi - rtol / 2, rtol, rtol ), MyRect( xcenter - 2 * rtol, ycenter - rtol, 2 * rtol, rtol ), MyRect( xcenter - xi - rtol, ycenter + yi - rtol / 2, rtol, rtol ), MyRect( xcenter - xi - rtol / 2, ycenter + yi, rtol, rtol ), MyRect( xcenter - rtol, ycenter, 2 * rtol, rtol ), MyRect( xcenter + xi - rtol / 2, ycenter + yi, rtol, rtol ), MyRect( xcenter + xi, ycenter + yi - rtol / 2, rtol, rtol ), MyRect( xcenter, ycenter - rtol, 2 * rtol, rtol ), MyRect( xcenter + xi, ycenter - yi - rtol / 2, rtol, rtol ), MyRect( xcenter + xi - rtol / 2, ycenter - yi - rtol, rtol, rtol ) }; // Text alignment for rasis const int rasi_alignment[12] = { Align::Center, Align::Top + Align::HCenter, Align::Left + Align::VCenter, Align::Center, Align::Left + Align::VCenter, Align::Bottom + Align::HCenter, Align::Center, Align::Bottom + Align::HCenter, Align::Right + Align::VCenter, Align::Center, Align::Right + Align::VCenter, Align::Top + Align::HCenter }; // polygon coordinates for signs const MyPoint rasi_polygons[][12] = { { MyPoint( xcenter-xi, ycenter - yi ), MyPoint( xcenter, ycenter ), MyPoint( xcenter+xi, ycenter - yi ), MyPoint( xcenter, ycenter - yr ) }, { MyPoint( xcenter-xr, ycenter - yr ), MyPoint( xcenter, ycenter-yr ), MyPoint( xcenter-xi, ycenter - yi ) }, { MyPoint( xcenter-xr, ycenter - yr ), MyPoint( xcenter-xr, ycenter ), MyPoint( xcenter-xi, ycenter - yi ) }, { MyPoint( xcenter-xr, ycenter ), MyPoint( xcenter-xi, ycenter+yi ), MyPoint( xcenter, ycenter ), MyPoint( xcenter-xi, ycenter - yi ) }, { MyPoint( xcenter-xr, ycenter + yr ), MyPoint( xcenter-xr, ycenter ), MyPoint( xcenter-xi, ycenter + yi ) }, { MyPoint( xcenter-xr, ycenter + yr ), MyPoint( xcenter, ycenter+yr ), MyPoint( xcenter-xi, ycenter + yi ) }, { MyPoint( xcenter-xi, ycenter+yi ), MyPoint( xcenter, ycenter+yr ), MyPoint( xcenter+xi, ycenter+yi ), MyPoint( xcenter, ycenter ) }, { MyPoint( xcenter, ycenter + yr ), MyPoint( xcenter+xr, ycenter+yr ), MyPoint( xcenter+xi, ycenter + yi ) }, { MyPoint( xcenter+xr, ycenter + yr ), MyPoint( xcenter+xr, ycenter ), MyPoint( xcenter+xi, ycenter + yi ) }, { MyPoint( xcenter, ycenter ), MyPoint( xcenter+xi, ycenter+yi ), MyPoint( xcenter+xr, ycenter ), MyPoint( xcenter+xi, ycenter-yi ) }, { MyPoint( xcenter+xr, ycenter - yr ), MyPoint( xcenter+xr, ycenter ), MyPoint( xcenter+xi, ycenter - yi ) }, { MyPoint( xcenter, ycenter - yr ), MyPoint( xcenter+xr, ycenter-yr ), MyPoint( xcenter+xi, ycenter - yi ) }, }; // rectangle for separation of double charts const MyRect transit_rect( xcenter - xm, ycenter - ym, 2 * xm, 2 * ym ); // draw filled polygons GcZodiacalSigns *signs = &vconf->signs; if ( signs->needsBgPaint() ) { painter->setTransparentPen(); for ( i = ARIES; i <= PISCES; i++ ) { painter->setBrush( signs->getBrush(redRasi( getAscendant() + i ))); painter->drawPolygon( i % 3 ? 3 : 4, (MyPoint*)rasi_polygons[i] ); } } paintOuterRectangle(); painter->setPen( defaultPen ); // diagonal from egde to egde paint one line or two depending on chart center if ( ! ( chartprops->getVedicGraphicStyle().centerInfoType == VGRAPHIC_CHART_CENTER_NOTHING )) { painter->drawLine( xcenter - xr, ycenter - yr, xcenter - mtol, ycenter - mtol ); painter->drawLine( xcenter + mtol, ycenter + mtol, xcenter + xr, ycenter + yr ); painter->drawLine( xcenter - xr, ycenter + yr, xcenter - mtol, ycenter + mtol ); painter->drawLine( xcenter + mtol , ycenter - mtol, xcenter + xr, ycenter - yr ); } else { painter->drawLine( xcenter - xr, ycenter - yr, xcenter + xr, ycenter + yr ); painter->drawLine( xcenter - xr, ycenter + yr, xcenter + xr, ycenter - yr ); } painter->drawLine( xcenter, ycenter + yr, xcenter + xr, ycenter ); painter->drawLine( xcenter, ycenter + yr, xcenter - xr, ycenter ); painter->drawLine( xcenter, ycenter - yr, xcenter - xr, ycenter ); painter->drawLine( xcenter, ycenter - yr, xcenter + xr, ycenter ); if ( chart_count == 2 ) painter->drawRectangle( transit_rect ); /********************************************************* ** draw number of houses *********************************************************/ if ( ! ( chartprops->getVedicGraphicStyle().northIndianSignDisplayType == VGRAPHIC_NORTH_INDIAN_SYMBOL )) painter->setGraphicFont( textzoom ); else painter->setSymbolFont( symbolzoom ); for ( i = ARIES; i <= PISCES; i++ ) { current = redRasi( getAscendant() + i ); switch( chartprops->getVedicGraphicStyle().northIndianSignDisplayType ) { case VGRAPHIC_NORTH_INDIAN_ASC: s.Printf( wxT( "%d" ), current + 1 ); break; case VGRAPHIC_NORTH_INDIAN_NUMBER: s.Printf( wxT( "%d" ), current + 1 ); break; case VGRAPHIC_NORTH_INDIAN_SHORT: { s = lang.getSignName( current, TSHORT ); } break; default: s = lang.getSignSymbolCode( current ); break; } painter->drawSimpleText( sign_rect[i], s ); // leave after ascendant for style == 0 if ( chartprops->getVedicGraphicStyle().northIndianSignDisplayType == VGRAPHIC_NORTH_INDIAN_ASC ) break; } painter->setGraphicFont( textzoom ); /********************************************************* ** draw planets *********************************************************/ if ( ! chartprops->isBlank() ) { for ( i = ARIES; i <= PISCES; i++ ) { if ( chart_count == 1 ) drawFieldText( rasi_rect[i], redRasi( i + getAscendant() ), rasi_alignment[i], 0, text_border ); else { drawFieldText( planet1_rect[i], redRasi( i + getAscendant() ), rasi_alignment[i], 0, text_border ); drawFieldText( planet2_rect[i], redRasi( i + getAscendant() ), rasi_alignment[i], 1, text_border ); } } paintCenterString(); } painter->setGraphicFont( textzoom ); }
FontWindow::FontWindow(int a,int b,int c,char *name,char *style,BRect rct):BWindow(rct,GetMessage(msg_font),B_TITLED_WINDOW_LOOK,B_MODAL_APP_WINDOW_FEEL,B_NOT_RESIZABLE|B_NOT_ZOOMABLE|B_ASYNCHRONOUS_CONTROLS) { BRect rect(Bounds()); BView *xt; BMenu *menu; int nb; bool size = false; char tmp[512]; sprintf(&tmp[0],"%s, %s",name,style); this->AddShortcut('W',0,new BMessage(B_QUIT_REQUESTED)); xt = CreateView(rect); menu = CreateMenu(this,&choice_font[0],5000,0); b0 = new BMenuField(MyRect(10,10,260,25),"","Font",menu); SetChoiceInMenu(b0->Menu(),a,true); SetDivider(b0,16); menu = CreateMenu(this); nb = AddFontMenu(&tmp[0],menu,6000,this); b1 = new BMenuField(MyRect(10,35,260,25),"","Style",menu); SetChoiceInMenu(b1->Menu(),nb,true); SetDivider(b1,16); menu = CreateMenu(this); for(int32 i = 0; i < 9; i++) { if (!size && b == kFontSizeSet[i]) { b = i; size = true; } sprintf(&buf[0],"%d",kFontSizeSet[i]); AddItemInMenu(menu,&buf[0],7000); } b2 = new BMenuField(MyRect(10,60,260,25),"","Size",menu); if (size) { SetChoiceInMenu(b2->Menu(),b,true); } SetDivider(b2,16); b3 = CreateCheck(MyRect(10,85,100,25),"Antiliasing",8000,false); b3->SetValue(c); xt->AddChild(b0); xt->AddChild(b1); xt->AddChild(b2); xt->AddChild(b3); AddChild(xt); }
void CMainContainer::MakeGridBoxL() { TInt MySetIndex(0); if(iProfileBox) { MySetIndex = HandleViewSelectedIndex(); } delete iProfileBox; iProfileBox = NULL; delete iMyListBox; iMyListBox = NULL; // create a grid iProfileBox = new( ELeave ) CAknGrid; CAknGrid* MyGrid = STATIC_CAST(CAknGrid*, iProfileBox); MyGrid->SetContainerWindowL( *this ); CAknGridM* GridViewM = new( ELeave ) CAknGridM; MyGrid->SetModel( GridViewM ); MyGrid->ConstructL( this, EAknListBoxSelectionGrid ); TRect MyRect(Rect()); MyGrid->SetRect(MyRect); TInt NumH = (MyRect.Height() / 80); TInt NumW = (MyRect.Width() / 80); if(NumH < 3) { NumH = 3; } if(NumW < 3) { NumW = 3; } TSize SizeOfItems; SizeOfItems.iWidth = ( MyRect.iBr.iX - MyRect.iTl.iX ) / NumW; SizeOfItems.iHeight = ( MyRect.iBr.iY - MyRect.iTl.iY )/ NumH; MyGrid->SetLayoutL(EFalse,ETrue,ETrue,NumW,NumH,SizeOfItems); MyGrid->SetPrimaryScrollingType (CAknGridView::EScrollIncrementLineAndLoops); MyGrid->SetSecondaryScrollingType(CAknGridView::EScrollIncrementLineAndLoops); MyGrid->SetCurrentDataIndex( 0 ); CArrayPtr<CGulIcon>* icons =new( ELeave ) CAknIconArray(2); CleanupStack::PushL(icons); const CFont* MyUseFont = AknLayoutUtils::FontFromId(EAknLogicalFontSecondaryFont); TPoint TxtStartPoint(0,(SizeOfItems.iHeight - (MyUseFont->HeightInPixels() + 3))); TPoint TxtEndddPoint(SizeOfItems.iWidth,SizeOfItems.iHeight); TPoint StartIcon(0,0); TPoint EnddIcon(SizeOfItems.iWidth,TxtStartPoint.iY); TSize IconsSize((((EnddIcon.iX - StartIcon.iX) * 9) / 10),(((EnddIcon.iY - StartIcon.iY) * 9) / 10)); MyGrid->Model()->SetItemTextArray(GetProfilesArrayL(icons,IconsSize)); MyGrid->ItemDrawer()->FormattedCellData()->SetIconArrayL(icons); CleanupStack::Pop();//icons MyGrid->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EAuto,CEikScrollBarFrame::EAuto); MyGrid->HandleItemAdditionL(); AknListBoxLayouts::SetupStandardGrid( *MyGrid); AknListBoxLayouts::SetupFormGfxCell( *MyGrid, MyGrid->ItemDrawer(), 0, 0, 0, 0, 0, SizeOfItems.iWidth,(EnddIcon.iY - StartIcon.iY), StartIcon, EnddIcon); TInt BaseLine = (TxtEndddPoint.iY - MyUseFont->BaselineOffsetInPixels() - 3); AknListBoxLayouts::SetupFormTextCell( *MyGrid, MyGrid->ItemDrawer(), 1, MyUseFont, 215, 3, 0, BaseLine, SizeOfItems.iWidth, CGraphicsContext::ECenter, TxtStartPoint, TxtEndddPoint ); TInt ItemsCount = MyGrid->Model()->ItemTextArray()->MdcaCount(); if(ItemsCount > MySetIndex && MySetIndex >= 0) MyGrid->SetCurrentItemIndex(MySetIndex); else if(ItemsCount > 0) MyGrid->SetCurrentItemIndex(0); MyGrid->MakeVisible( ETrue ); MyGrid->SetFocus( ETrue ); MyGrid->ActivateL(); MyGrid->DrawNow(); }