Tutorial by Examples: g

The default font formatting provided by the fillText and strokeText methods isn't very aesthetically appealing. Fortunately the canvas API provides properties for formatting text. Using the font property you can specify: font-style font-variant font-weight font-size / line-height font-family...
Native Canvas API does not have a method to wrap text onto the next line when a desired maximum width is reached. This example wraps text into paragraphs. function wrapText(text, x, y, maxWidth, fontSize, fontFace){ var firstY=y; var words = text.split(' '); var line = ''; var lineHeigh...
This example draws text paragraphs into any portions of the canvas that have opaque pixels. It works by finding the next block of opaque pixels that is large enough to contain the next specified word and filling that block with the specified word. The opaque pixels can come from any source: Path d...
This example fills text with a specified image. Important! The specified image must be fully loaded before calling this function or the drawing will fail. Use image.onload to be sure the image is fully loaded. function drawImageInsideText(canvas,x,y,img,text,font){ var c=canvas.cloneNode();...
If you want to add a Drawable be shown during the load, you can add a placeholder: Glide.with(context) .load(yourUrl) .placeholder(R.drawable.placeholder) .into(imageView); If you want a Drawable to be shown if the load fails for any reason: Glide.with(context) .load(yourUrl...
View loading In a test for a view controller you want sometimes to trigger the execution of loadView() or viewDidLoad(). This can be done by accessing the view. Let's say you have view controller instance in your test called sut (system under test), then the code would look like this: XCTAssertNot...
Some attributes are directly accessible as properties of the element (e.g. alt, href, id, title and value). document.querySelector("a").href = "#top"; Other attributes, including data-attributes can be set as follows: document.querySelector("a").setAttribute("...
To remove an attribute, including directly accessible properties document.querySelector("a").removeAttribute("title"); Data attributes can also be removed as follows (modern browsers): // remove "data-foo" attribute delete document.querySelector("a").dat...
4.0 Since bash 4.0, a new operator ;& was introduced which provides fall through mechanism. #!/bin/bash var=1 case $var in 1) echo "Antartica" ;& 2) echo "Brazil" ;& 3) echo "Cat" ;& esac Outputs: Antartica Brazil Cat ...
4.0 Since Bash 4.0, another operator ;;& was introduced which also provides fall through only if the patterns in subsequent case statement(s), if any, match. #!/bin/bash var=abc case $var in a*) echo "Antartica" ;;& xyz) echo "Brazil" ;;& *b*) ...
This does not cover allocators. struct A {}; struct B { B()=default; B(B const&)=default; B(int){}; }; struct C { C()=delete; C(int) {}; C(C const&)=default; }; struct D { D( std::initializer_list<int> ) {}; D(D const&)=default; D()=default; }; std::variant<A,B> var_ab...
Run go test as normal, yet with the coverprofile flag. Then use go tool to view the results as HTML. go test -coverprofile=c.out go tool cover -html=c.out
C99 C99 introduced the concept of designated initializers. These allow you to specify which elements of an array, structure or union are to be initialized by the values following. Designated initializers for array elements For a simple type like plain int: int array[] = { [4] = 29, [5] = 31, [1...
Calculating the factorial of a number is a classic example of a recursive function. Missing the Base Condition: #include <stdio.h> int factorial(int n) { return n * factorial(n - 1); } int main() { printf("Factorial %d = %d\n", 3, factorial(3)); return 0;...
With IpRateLimit middleware you can set multiple limits for different scenarios like allowing an IP or IP range to make a maximum number of calls in a time interval like per second, 15 minutes, etc. You can define these limits to address all requests made to an API or you can scope the limits to eac...
With ClientRateLimit middleware you can set multiple limits for different scenarios like allowing a Client to make a maximum number of calls in a time interval like per second, 15 minutes, etc. You can define these limits to address all requests made to an API or you can scope the limits to each URL...
Increment by var a = 9, b = 3; b += a; b will now be 12 This is functionally the same as b = b + a; Decrement by var a = 9, b = 3; b -= a; b will now be 6 This is functionally the same as b = b - a; Multiply by var a = 5, b = 3; b *= a; b will now...
Show curl version: curl --version GET a remote resource and have it displayed in the terminal: curl http://stackoverflow.com GET a remote resource and save it in a local file: curl -o file https://stackoverflow.com Add headers to response: curl -i http://stackoverflow.com Output only...
The original C standard had no intrinsic Boolean type, so bool, true and false had no inherent meaning and were often defined by programmers. Typically true would be defined as 1 and false would be defined as 0. C99 C99 adds the built-in type _Bool and the header <stdbool.h> which defines bo...
It's possible to write directly to the rendered image data using putImageData. By creating new image data then assigning it to the canvas, you will clear the entire screen. var imageData = ctx.createImageData(canvas.width, canvas.height); ctx.putImageData(imageData, 0, 0); Note: putImageData is...

Page 383 of 693