public override void Render(HtmlMobileTextWriter writer)
        {
            writer.WriteBeginTag("div");
            String width = DesignerAdapterUtil.GetWidth(Control);

            writer.WriteAttribute("style", "cellpadding=2px;width:" + width);

            Alignment alignment = (Alignment)Style[Style.AlignmentKey, true];

            if (alignment != Alignment.NotSet)
            {
                writer.WriteAttribute("align", Enum.GetName(typeof(Alignment), alignment));
            }
            writer.Write("/>");

            ((DesignerTextWriter)writer).EnterZeroFontSizeTag();

            //Note: Although this is an internal method of runtime, but it is still
            //      pretty easy to achieve the same goal without using this method.
            Style.ApplyTo(Control.WebCalendar);
            base.Render(writer);

            ((DesignerTextWriter)writer).ExitZeroFontSizeTag();
            writer.WriteEndTag("div");
        }
示例#2
0
        protected virtual void OnStyleChanged()
        {
            if (Style == null)
            {
                Style = Style.DefaultStyleForType(typeof(TextElement));
                Style.ApplyTo(this);
            }

            OnStyleChangedPartial();
        }
示例#3
0
        public void Begin()
        {
            _session.Antialiasing     = CanvasAntialiasing.Antialiased;
            _session.TextAntialiasing = CanvasTextAntialiasing.Auto;

            var defaultStyle = new Style();

            defaultStyle.SetChangeFlags((uint)StyleFlag.StyleFlag_ALL);
            defaultStyle.ApplyTo(this);
        }
示例#4
0
        /// <summary>
        /// Set the specified style.
        /// </summary>
        /// <returns><c>true</c>, if style was set for children gameobjects, <c>false</c> otherwise.</returns>
        /// <param name="style">Style data.</param>
        public bool SetStyle(Style style)
        {
            if (PrimaryButton != null)
            {
                style.ApplyTo(PrimaryButton.gameObject);
            }

            if (ToggleButton != null)
            {
                style.Spinner.ButtonMinus.ApplyTo(ToggleButton.gameObject);
            }

            foreach (var button in AdditionalButtons)
            {
                if (button != null)
                {
                    style.ApplyTo(button.gameObject);
                }
            }

            return(true);
        }
示例#5
0
        public override void Render(HtmlMobileTextWriter writer)
        {
            System.Web.UI.WebControls.WebControl webCalendar = Control.WebCalendar;

            Style.ApplyTo(webCalendar);

            // Delegate the rendering effort to the child Web Calendar
            // control for HTML browser
            webCalendar.Visible = true;

            // There is no explicit property for alignment on WebForms
            // Calendar, so we need some special code to set it.
            writer.EnterLayout(Style);
            writer.EnsureStyle();
            Alignment align = (Alignment)Style[Style.AlignmentKey, true];

            if (!Device.SupportsDivAlign)
            {
                webCalendar.Attributes["align"] = align.ToString();
            }

            if (Device.SupportsCss)
            {
                // Target device supports CSS - simply delegate the rendering
                // to the underlying Web Calendar control
                webCalendar.RenderControl(writer);
            }
            else
            {
                // Insert bgcolor attributes in cells that correspond to selected dates
                StringWriter   sw        = new StringWriter();
                HtmlTextWriter tmpWriter = new HtmlTextWriter(sw);
                webCalendar.RenderControl(tmpWriter);
                String webCalendarHtml = sw.ToString();
                int    index = 0, indexLastTable = 0;
                // Search for offset of last <table> tag in the Web Calendar HTML.
                // That table contains the various days.
                do
                {
                    index = webCalendarHtml.IndexOf(_selectedDateSearchTableTag, index);
                    if (index >= 0)
                    {
                        indexLastTable = index;
                        index         += 5;
                    }
                }while (index >= 0);
                index = LocateNextSelectedDate(webCalendarHtml, indexLastTable);
                if (index >= 0)
                {
                    // Determine the background color of the containing Form control
                    HtmlControlAdapter formAdapter = (HtmlControlAdapter)Control.Form.Adapter;
                    Color backColor = (Color)formAdapter.Style[Style.BackColorKey, true];
                    int   deltaR    = System.Math.Abs(backColor.R - 0xC0);
                    int   deltaG    = System.Math.Abs(backColor.G - 0xC0);
                    int   deltaB    = System.Math.Abs(backColor.B - 0xC0);
                    // Determine the distance between Silver and the Form's background color
                    int bgColorDistance = deltaR * deltaR + deltaG * deltaG + deltaB * deltaB;
                    // Choose Silver or White depending on that distance
                    String selectedDateBGColor =
                        String.Format("bgcolor=\"{0}\" ", bgColorDistance < _bgColorDistanceTreshold ? "White" : "Silver");
                    while (index >= 0)
                    {
                        // Insert the bgcolor attribute for each selected date cell
                        webCalendarHtml = webCalendarHtml.Insert(index + _bgColorInsertionPointInPattern, selectedDateBGColor);
                        index           = LocateNextSelectedDate(webCalendarHtml, index + _bgColorInsertionPointInPattern);
                    }
                }
                // Use the HTML after insertions
                writer.Write(webCalendarHtml);
            }

            if (Control.BreakAfter)
            {
                writer.WriteBreak();
            }
            writer.ExitLayout(Style);
        }
示例#6
0
 /// <summary>
 /// Set blue style.
 /// </summary>
 public void SetBlueStyle()
 {
     StyleBlue.ApplyTo(RootCanvas);
 }
示例#7
0
 /// <summary>
 /// Set default style.
 /// </summary>
 public void SetDefaultStyle()
 {
     StyleDefault.ApplyTo(RootCanvas);
 }