File: customdrawn_androidproc.pas

package info (click to toggle)
lazarus 2.0.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 214,460 kB
  • sloc: pascal: 1,862,622; xml: 265,709; cpp: 56,595; sh: 3,008; java: 609; makefile: 535; perl: 297; sql: 222; ansic: 137
file content (34 lines) | stat: -rw-r--r-- 786 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
unit customdrawn_androidproc;

{$mode objfpc}{$H+}

interface

uses
  // rtl+ftl
  Types, Classes, SysUtils,
  fpimage, fpcanvas, ctypes,
  // Android headers
  jni,
  // Custom Drawn Canvas
  IntfGraphics, lazcanvas,
  //
  GraphType, Controls, Graphics, LCLMessageGlue, WSControls, LCLType, LCLProc,
  customdrawnproc;

function FPColorToAndroidColor(AValue: TFPColor): jint;

implementation

// Android color is in the format: Alpha-Red-Green-Blue
// It uses 8-bits per channel. $FF means alpha opaque
// See http://developer.android.com/reference/android/graphics/Color.html
function FPColorToAndroidColor(AValue: TFPColor): jint;
begin
  Result:= $FF000000 or ((AValue.Blue shr 8) and $ff)
       or (AValue.Green and $ff00)
       or ((AValue.Red shl 8) and $ff0000);
end;

end.