本文整理汇总了C#中CGRect.GetMaxX方法的典型用法代码示例。如果您正苦于以下问题:C# CGRect.GetMaxX方法的具体用法?C# CGRect.GetMaxX怎么用?C# CGRect.GetMaxX使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGRect
的用法示例。
在下文中一共展示了CGRect.GetMaxX方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Draw
public override void Draw(CGRect rect)
{
base.Draw(rect);
if (BorderWidthAll > 0)
{
BorderWidth = new UIEdgeInsets(BorderWidthAll, BorderWidthAll, BorderWidthAll, BorderWidthAll);
}
if (BorderColorAll != null)
{
BorderColorTop = BorderColorBottom = BorderColorLeft = BorderColorRight = BorderColorAll;
}
var xMin = rect.GetMinX();
var xMax = rect.GetMaxX();
var yMin = rect.GetMinY();
var yMax = rect.GetMaxY();
var fWidth = this.Frame.Size.Width;
var fHeight = this.Frame.Size.Height;
var context = UIGraphics.GetCurrentContext();
if (context != null)
DrawBorders(context, xMin, xMax, yMin, yMax, fWidth, fHeight);
}
示例2: LayoutButtonBars
void LayoutButtonBars ()
{
nfloat nextX = 0;
foreach (ButtonBar bar in buttonBars) {
var frame = new CGRect (nextX, 0, extraPadding + (bar.SegmentCount * segmentWidth), AwesomeBar.ToolbarWidgetHeight);
bar.Frame = frame;
nextX = frame.GetMaxX () + buttonBarSpacing;
}
SetFrameSize (new CGSize (nextX - buttonBarSpacing, AwesomeBar.ToolbarWidgetHeight));
if (SizeChanged != null) {
SizeChanged (this, EventArgs.Empty);
}
}
示例3: Draw
public override void Draw(CGRect rect)
{
using (var context = UIGraphics.GetCurrentContext ()) {
// get the scale from the context by getting the current transform matrix, then asking for
// its "a" component, which is one of the two scale components. We could also ask for "d".
// This assumes (safely) that the view is being scaled equally in both dimensions.
var scale = context.GetCTM ().xx;
CATiledLayer tiledLayer = (CATiledLayer)this.Layer;
var tileSize = tiledLayer.TileSize;
// Even at scales lower than 100%, we are drawing into a rect in the coordinate system of the full
// image. One tile at 50% covers the width (in original image coordinates) of two tiles at 100%.
// So at 50% we need to stretch our tiles to double the width and height; at 25% we need to stretch
// them to quadruple the width and height; and so on.
// (Note that this means that we are drawing very blurry images as the scale gets low. At 12.5%,
// our lowest scale, we are stretching about 6 small tiles to fill the entire original image area.
// But this is okay, because the big blurry image we're drawing here will be scaled way down before
// it is displayed.)
tileSize.Width /= scale;
tileSize.Height /= scale;
// calculate the rows and columns of tiles that intersect the rect we have been asked to draw
int firstCol = (int)Math.Floor (rect.GetMinX () / tileSize.Width);
int lastCol = (int)Math.Floor ((rect.GetMaxX () - 1) / tileSize.Width);
int firstRow = (int)Math.Floor (rect.GetMinY () / tileSize.Height);
int lastRow = (int)Math.Floor ((rect.GetMaxY () - 1) / tileSize.Height);
for (int row = firstRow; row <= lastRow; row++) {
for (int col = firstCol; col <= lastCol; col++) {
UIImage tile = TileForScale ((float)scale, row, col);
var tileRect = new CGRect (tileSize.Width * col, tileSize.Height * row, tileSize.Width, tileSize.Height);
// if the tile would stick outside of our bounds, we need to truncate it so as to avoid
// stretching out the partial tiles at the right and bottom edges
tileRect.Intersect (this.Bounds);
tile.Draw (tileRect);
}
}
}
}
示例4: Draw
public override void Draw(CGRect frame)
{
var context = UIGraphics.GetCurrentContext();
var expression = 377.0f - percentage;
// coverView Drawing
var coverViewPath =
UIBezierPath.FromOval(new CGRect(frame.GetMinX() + 5.0f, frame.GetMinY() + 4.0f, frame.Width - 10.0f,
frame.Height - 10.0f));
UIColor.FromRGB(21, 169, 254).SetFill();
coverViewPath.Fill();
// completedView Drawing
context.SaveState();
context.SaveState();
context.TranslateCTM(frame.GetMaxX() - 65.0f, frame.GetMinY() + 64.0f);
context.RotateCTM(-90.0f*NMath.PI/180.0f);
var completedViewRect = new CGRect(-60.0f, -60.0f, 120.0f, 120.0f);
var completedViewPath = new UIBezierPath();
completedViewPath.AddArc(new CGPoint(completedViewRect.GetMidX(), completedViewRect.GetMidY()),
completedViewRect.Width/2.0f, -360.0f*NMath.PI/180,
-(expression - 17.0f)*NMath.PI/180.0f, true);
completedViewPath.AddLineTo(new CGPoint(completedViewRect.GetMidX(), completedViewRect.GetMidY()));
completedViewPath.ClosePath();
UIColor.FromRGB(247, 247, 247).SetFill();
completedViewPath.Fill();
context.RestoreState();
// backgroundView Drawing
var backgroundViewPath =
UIBezierPath.FromOval(new CGRect(frame.GetMinX() + 12.0f, frame.GetMinY() + 11.0f, frame.Width - 24.0f,
frame.Height - 24.0f));
UIColor.FromRGB(21, 169, 254).SetFill();
backgroundViewPath.Fill();
}
示例5: LayoutButtonBars
void LayoutButtonBars ()
{
nfloat nextX = 0;
nfloat y = 0;
nfloat height = AwesomeBar.ToolbarWidgetHeight;
if (IdeApp.Preferences.UserInterfaceSkin == Skin.Dark) {
y = 2;
height += 2;
} else {
height += 5;
y = -1;
}
foreach (ButtonBar bar in buttonBars) {
var frame = new CGRect (nextX, y, extraPadding + (bar.SegmentCount * segmentWidth), height);
bar.Frame = frame;
nextX = frame.GetMaxX () + buttonBarSpacing;
}
SetFrameSize (new CGSize (nextX - buttonBarSpacing, height));
if (SizeChanged != null) {
SizeChanged (this, EventArgs.Empty);
}
}
示例6: DisplayPixelBuffer
public void DisplayPixelBuffer (CVPixelBuffer pixelBuffer)
{
DrawTextInCorner (pixelBuffer);
CVReturn error;
if (pixelBuffer != null) {
int frameWidth = (int)pixelBuffer.Width;
int frameHeight = (int)pixelBuffer.Height;
if (videoTextureCache == null) {
Console.WriteLine ("No video texture cache");
return;
}
CleanUpTextures ();
CVAttachmentMode attachmentMode;
var colorAttachments = pixelBuffer.GetAttachment <NSString> (CVImageBuffer.YCbCrMatrixKey, out attachmentMode);
if (colorAttachments == CVImageBuffer.YCbCrMatrix_ITU_R_601_4)
preferredConversion = colorConversion601;
else
preferredConversion = colorConversion709;
GL.ActiveTexture (TextureUnit.Texture0);
lumaTexture = videoTextureCache.TextureFromImage (pixelBuffer, true, All.RedExt, frameWidth, frameHeight,
All.RedExt, DataType.UnsignedByte, 0, out error);
if (lumaTexture == null)
Console.WriteLine ("Error at CVOpenGLESTextureCach.TextureFromImage");
GL.BindTexture (lumaTexture.Target, lumaTexture.Name);
GL.TexParameter (TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)All.Linear);
GL.TexParameter (TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)All.Linear);
GL.TexParameter (TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)All.ClampToEdge);
GL.TexParameter (TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)All.ClampToEdge);
GL.ActiveTexture (TextureUnit.Texture1);
chromaTexture = videoTextureCache.TextureFromImage (pixelBuffer, true, All.RgExt, frameWidth / 2, frameHeight / 2,
All.RgExt, DataType.UnsignedByte, 1, out error);
if (chromaTexture == null)
Console.WriteLine ("Error at CVOpenGLESTextureCach.TextureFromImage");
GL.BindTexture (chromaTexture.Target, chromaTexture.Name);
GL.TexParameter (TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)All.Linear);
GL.TexParameter (TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)All.Linear);
GL.TexParameter (TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)All.ClampToEdge);
GL.TexParameter (TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)All.ClampToEdge);
GL.BindFramebuffer (FramebufferTarget.Framebuffer, frameBufferHandle);
GL.Viewport (0, 0, backingWidth, backingHeight);
}
GL.ClearColor (0f, 0f, 0f, 1f);
GL.Clear (ClearBufferMask.ColorBufferBit);
GL.UseProgram (Program);
GL.Uniform1 (uniforms [(int)UniformIndex.RotationAngle], 0f);
GL.UniformMatrix3 (uniforms [(int)UniformIndex.ColorConversionMatrix], 1, false, preferredConversion);
CGRect vertexSamplingRect = AVUtilities.WithAspectRatio (Bounds, PresentationRect);
var normalizedSamplingSize = new CGSize (0f, 0f);
var cropScaleAmount = new CGSize (vertexSamplingRect.Width / Bounds.Width, vertexSamplingRect.Height / Bounds.Height);
if (cropScaleAmount.Width > cropScaleAmount.Height) {
normalizedSamplingSize.Width = 1f;
normalizedSamplingSize.Height = cropScaleAmount.Height / cropScaleAmount.Width;
} else {
normalizedSamplingSize.Width = 1f;
normalizedSamplingSize.Height = cropScaleAmount.Width / cropScaleAmount.Height;
}
float[] quadVertexData = {
-1f * (float)normalizedSamplingSize.Width, -1f * (float)normalizedSamplingSize.Height,
(float)normalizedSamplingSize.Width, -1f * (float)normalizedSamplingSize.Height,
-1f * (float)normalizedSamplingSize.Width, (float)normalizedSamplingSize.Height,
(float)normalizedSamplingSize.Width, (float)normalizedSamplingSize.Height,
};
GL.VertexAttribPointer ((int)AttributeIndex.Vertex, 2, VertexAttribPointerType.Float, false, 0, quadVertexData);
GL.EnableVertexAttribArray ((int)AttributeIndex.Vertex);
var textureSamplingRect = new CGRect (0, 0, 1, 1);
float[] quadTextureData = {
(float)textureSamplingRect.GetMinX (), (float)textureSamplingRect.GetMaxY (),
(float)textureSamplingRect.GetMaxX (), (float)textureSamplingRect.GetMaxY (),
(float)textureSamplingRect.GetMinX (), (float)textureSamplingRect.GetMinY (),
(float)textureSamplingRect.GetMaxX (), (float)textureSamplingRect.GetMinY ()
};
GL.VertexAttribPointer ((int)AttributeIndex.TextureCoordinates, 2, VertexAttribPointerType.Float, false, 0, quadTextureData);
GL.EnableVertexAttribArray ((int)AttributeIndex.TextureCoordinates);
GL.DrawArrays (BeginMode.TriangleStrip, 0, 4);
GL.BindRenderbuffer (RenderbufferTarget.Renderbuffer, colorBufferHandle);
context.PresentRenderBuffer ((int)RenderbufferTarget.Renderbuffer);
}
示例7: drawArc
private void drawArc(CGContext context, CGRect rect)
{
var radius = rect.GetMaxY() * badgeCornerRoundness;
var puffer = new nfloat(Padding(rect));
var maxX = rect.GetMaxX() - puffer;
var maxY = rect.GetMaxY() - puffer;
var minX = rect.GetMinX() + puffer;
var minY = rect.GetMinY() + puffer;
double pi = Math.PI;
context.AddArc(new nfloat(maxX - radius), new nfloat(minY + radius), new nfloat(radius), new nfloat(pi + (pi / 2)), 0, false);
context.AddArc(new nfloat(maxX - radius), new nfloat(minY - radius), new nfloat(radius), 0, new nfloat(pi / 2), false);
}
示例8: Draw
public override void Draw (CGRect rect)
{
base.Draw (rect);
_highTemps = null;
_lowTemps = null;
_hourlyTemps = null;
if (Forecasts.Count == 0 || Hourly.Count == 0) return;
graphRect = new CGRect (rect.X + padding, rect.Y + padding, rect.Width - (padding * 2), rect.Height - (padding * 2));
var days = Hourly.GroupBy (h => h.FCTTIME.mday).Select (g => g.First ().FCTTIME.weekday_name_abbrev).ToList ();
var dayCount = hourly ? days.Count : Forecasts.Count;
var xAxisScale = (graphRect.Width + padding / 2) / dayCount;
inset = xAxisScale / 2;
var highest = (nfloat)(hourly ? HourlyTemps.Max () : HighTemps.Max ());
var lowest = (nfloat)(hourly ? HourlyTemps.Min () : LowTemps.Min ());
scaleHigh = NMath.Round (highest, MidpointRounding.AwayFromZero);
scaleLow = lowest < 0 ? NMath.Round (lowest, MidpointRounding.AwayFromZero) : NMath.Round (lowest);
var rangePadding = Settings.UomTemperature.IsImperial () ? scalePadding : (scalePadding / 2);
scaleHigh += rangePadding;
scaleLow -= rangePadding;
scaleRange = scaleHigh - scaleLow;
var scaleIncrement = scaleRange / dividerCount;
scaleX = (graphRect.Width - inset) / (hourly ? HourlyTemps.Count : Forecasts.Count);
scaleY = graphRect.Height / dividerCount;
nfloat x, y;
using (CGContext ctx = UIGraphics.GetCurrentContext ()) {
// Draw x and y axis
using (UIColor color = UIColor.White) {
color.SetStroke ();
ctx.SetLineWidth (1);
using (CGPath p = new CGPath ()) {
p.MoveToPoint (graphRect.GetMinX (), graphRect.GetMaxY ());
p.AddLines (new [] {
new CGPoint (graphRect.GetMinX (), graphRect.GetMinY ()),
new CGPoint (graphRect.GetMinX (), graphRect.GetMaxY ()),
new CGPoint (graphRect.GetMaxX (), graphRect.GetMaxY ())
});
ctx.AddPath (p);
ctx.DrawPath (CGPathDrawingMode.Stroke);
}
}
// Draw horizontal gridlines
using (UIColor color = UIColor.Black.ColorWithAlpha (0.08f)) {
for (int i = 1; i < dividerCount; i += 2) {
y = (i + 1) * scaleY;
color.SetFill ();
ctx.FillRect (new CGRect (graphRect.GetMinX (), graphRect.GetMaxY () - y, graphRect.Width, scaleY));
ctx.StrokePath ();
}
}
drawLines ();
// Draw y-axis labels
nfloat yStep = scaleLow;
ctx.SaveState ();
ctx.TranslateCTM (0, rect.Height);
//.........这里部分代码省略.........