Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / ButtonInternal / RadioButtonFlatAdapter.cs / 1305376 / RadioButtonFlatAdapter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms.ButtonInternal { using System; using System.Diagnostics; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.Drawing.Text; using System.Windows.Forms; internal class RadioButtonFlatAdapter : RadioButtonBaseAdapter { protected const int flatCheckSize = 12; internal RadioButtonFlatAdapter(ButtonBase control) : base(control) {} internal override void PaintDown(PaintEventArgs e, CheckState state) { if (Control.Appearance == Appearance.Button) { ButtonFlatAdapter adapter = new ButtonFlatAdapter(Control); adapter.PaintDown(e, Control.Checked ? CheckState.Checked : CheckState.Unchecked); return; } ColorData colors = PaintFlatRender(e.Graphics).Calculate(); if (Control.Enabled) { PaintFlatWorker(e, colors.windowText, colors.highlight, colors.windowFrame, colors); } else { PaintFlatWorker(e, colors.buttonShadow, colors.buttonFace, colors.buttonShadow, colors); } } internal override void PaintOver(PaintEventArgs e, CheckState state) { if (Control.Appearance == Appearance.Button) { ButtonFlatAdapter adapter = new ButtonFlatAdapter(Control); adapter.PaintOver(e, Control.Checked ? CheckState.Checked : CheckState.Unchecked); return; } ColorData colors = PaintFlatRender(e.Graphics).Calculate(); if (Control.Enabled) { PaintFlatWorker(e, colors.windowText, colors.lowHighlight, colors.windowFrame, colors); } else { PaintFlatWorker(e, colors.buttonShadow, colors.buttonFace, colors.buttonShadow, colors); } } internal override void PaintUp(PaintEventArgs e, CheckState state) { if (Control.Appearance == Appearance.Button) { ButtonFlatAdapter adapter = new ButtonFlatAdapter(Control); adapter.PaintUp(e, Control.Checked ? CheckState.Checked : CheckState.Unchecked); return; } ColorData colors = PaintFlatRender(e.Graphics).Calculate(); if (Control.Enabled) { PaintFlatWorker(e, colors.windowText, colors.highlight, colors.windowFrame, colors); } else { PaintFlatWorker(e, colors.buttonShadow, colors.buttonFace, colors.buttonShadow, colors); } } void PaintFlatWorker(PaintEventArgs e, Color checkColor, Color checkBackground, Color checkBorder, ColorData colors) { System.Drawing.Graphics g = e.Graphics; LayoutData layout = Layout(e).Layout(); PaintButtonBackground(e, Control.ClientRectangle, null); PaintImage(e, layout); DrawCheckFlat(e, layout, checkColor, colors.options.highContrast ? colors.buttonFace : checkBackground, checkBorder); PaintField(e, layout, colors, checkColor, true); } #region Layout protected override ButtonBaseAdapter CreateButtonAdapter() { return new ButtonFlatAdapter(Control); } // RadioButtonPopupLayout also uses this layout for down and over protected override LayoutOptions Layout(PaintEventArgs e) { LayoutOptions layout = CommonLayout(); layout.checkSize = (int)(flatCheckSize * GetDpiScaleRatio(e.Graphics)); layout.shadowedText = false; return layout; } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms.ButtonInternal { using System; using System.Diagnostics; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.Drawing.Text; using System.Windows.Forms; internal class RadioButtonFlatAdapter : RadioButtonBaseAdapter { protected const int flatCheckSize = 12; internal RadioButtonFlatAdapter(ButtonBase control) : base(control) {} internal override void PaintDown(PaintEventArgs e, CheckState state) { if (Control.Appearance == Appearance.Button) { ButtonFlatAdapter adapter = new ButtonFlatAdapter(Control); adapter.PaintDown(e, Control.Checked ? CheckState.Checked : CheckState.Unchecked); return; } ColorData colors = PaintFlatRender(e.Graphics).Calculate(); if (Control.Enabled) { PaintFlatWorker(e, colors.windowText, colors.highlight, colors.windowFrame, colors); } else { PaintFlatWorker(e, colors.buttonShadow, colors.buttonFace, colors.buttonShadow, colors); } } internal override void PaintOver(PaintEventArgs e, CheckState state) { if (Control.Appearance == Appearance.Button) { ButtonFlatAdapter adapter = new ButtonFlatAdapter(Control); adapter.PaintOver(e, Control.Checked ? CheckState.Checked : CheckState.Unchecked); return; } ColorData colors = PaintFlatRender(e.Graphics).Calculate(); if (Control.Enabled) { PaintFlatWorker(e, colors.windowText, colors.lowHighlight, colors.windowFrame, colors); } else { PaintFlatWorker(e, colors.buttonShadow, colors.buttonFace, colors.buttonShadow, colors); } } internal override void PaintUp(PaintEventArgs e, CheckState state) { if (Control.Appearance == Appearance.Button) { ButtonFlatAdapter adapter = new ButtonFlatAdapter(Control); adapter.PaintUp(e, Control.Checked ? CheckState.Checked : CheckState.Unchecked); return; } ColorData colors = PaintFlatRender(e.Graphics).Calculate(); if (Control.Enabled) { PaintFlatWorker(e, colors.windowText, colors.highlight, colors.windowFrame, colors); } else { PaintFlatWorker(e, colors.buttonShadow, colors.buttonFace, colors.buttonShadow, colors); } } void PaintFlatWorker(PaintEventArgs e, Color checkColor, Color checkBackground, Color checkBorder, ColorData colors) { System.Drawing.Graphics g = e.Graphics; LayoutData layout = Layout(e).Layout(); PaintButtonBackground(e, Control.ClientRectangle, null); PaintImage(e, layout); DrawCheckFlat(e, layout, checkColor, colors.options.highContrast ? colors.buttonFace : checkBackground, checkBorder); PaintField(e, layout, colors, checkColor, true); } #region Layout protected override ButtonBaseAdapter CreateButtonAdapter() { return new ButtonFlatAdapter(Control); } // RadioButtonPopupLayout also uses this layout for down and over protected override LayoutOptions Layout(PaintEventArgs e) { LayoutOptions layout = CommonLayout(); layout.checkSize = (int)(flatCheckSize * GetDpiScaleRatio(e.Graphics)); layout.shadowedText = false; return layout; } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Query.cs
- RC2.cs
- DbProviderFactoriesConfigurationHandler.cs
- MethodBody.cs
- Single.cs
- PolyBezierSegmentFigureLogic.cs
- TextFindEngine.cs
- ToolboxItemCollection.cs
- CodeTypeConstructor.cs
- Point3DCollectionValueSerializer.cs
- XmlEncoding.cs
- FilteredSchemaElementLookUpTable.cs
- MemoryPressure.cs
- StatusCommandUI.cs
- HttpCapabilitiesSectionHandler.cs
- Util.cs
- XhtmlTextWriter.cs
- CanonicalFormWriter.cs
- HttpRequest.cs
- CodeVariableDeclarationStatement.cs
- ThaiBuddhistCalendar.cs
- ReferentialConstraint.cs
- FunctionImportMapping.cs
- TextServicesContext.cs
- FormsAuthentication.cs
- ListViewGroupConverter.cs
- SectionRecord.cs
- DataBoundControlAdapter.cs
- ComPlusTypeValidator.cs
- XmlNodeChangedEventArgs.cs
- SqlMultiplexer.cs
- Operators.cs
- SchemaCollectionPreprocessor.cs
- HashJoinQueryOperatorEnumerator.cs
- DbCommandDefinition.cs
- objectquery_tresulttype.cs
- ProcessMonitor.cs
- ImageBrush.cs
- PieceNameHelper.cs
- CreateDataSourceDialog.cs
- SHA1Managed.cs
- CompiledELinqQueryState.cs
- SqlDataSourceCommandEventArgs.cs
- PingOptions.cs
- SplitterCancelEvent.cs
- XmlDocumentSchema.cs
- XmlSchema.cs
- VirtualDirectoryMapping.cs
- OracleRowUpdatingEventArgs.cs
- ListViewHitTestInfo.cs
- XmlJsonReader.cs
- TreeNodeCollection.cs
- AuthenticationConfig.cs
- ColorDialog.cs
- WorkflowStateRollbackService.cs
- ConfigurationStrings.cs
- PerfCounters.cs
- SharedConnectionInfo.cs
- ReliableOutputSessionChannel.cs
- SafeLibraryHandle.cs
- UrlPath.cs
- SqlFlattener.cs
- SqlTrackingWorkflowInstance.cs
- ISAPIApplicationHost.cs
- TextTabProperties.cs
- HttpApplication.cs
- ServiceMetadataBehavior.cs
- TimeIntervalCollection.cs
- AuthStoreRoleProvider.cs
- ReferencedCollectionType.cs
- StoragePropertyMapping.cs
- BindingMemberInfo.cs
- GcSettings.cs
- TextEmbeddedObject.cs
- ConfigsHelper.cs
- LinkedResourceCollection.cs
- StandardToolWindows.cs
- EasingKeyFrames.cs
- HijriCalendar.cs
- ControlDesignerState.cs
- BaseParaClient.cs
- StorageTypeMapping.cs
- Sequence.cs
- DbDataRecord.cs
- DBSchemaTable.cs
- ParseChildrenAsPropertiesAttribute.cs
- webclient.cs
- _IPv4Address.cs
- RemoveFromCollection.cs
- SimpleMailWebEventProvider.cs
- CodeRemoveEventStatement.cs
- DbDataReader.cs
- PageEventArgs.cs
- SoapFault.cs
- AppDomainFactory.cs
- DataControlReference.cs
- XsdDataContractExporter.cs
- GlyphRun.cs
- TextLine.cs
- CodeGeneratorOptions.cs