2023年10月30日 星期一

Custom FireMonkey "TSimpleTriangle" component TCanvas = class(TInterfacedPersistent, IFreeNotification) TSimpleTriangle = class(TShape)

 https://community.embarcadero.com/index.php/blogs/entry/custom-firemonkey-tsimpletriangle-component-39692
    procedure DrawLine(const APt1, APt2: TPointF; const AOpacity: Single); virtual; abstract;
    procedure FillRect(const ARect: TRectF; const XRadius, YRadius: Single; const ACorners: TCorners;
      const AOpacity: Single; const ACornerType: TCornerType = TCornerType.ctRound); virtual; abstract;
    procedure DrawRect(const ARect: TRectF; const XRadius, YRadius: Single; const ACorners: TCorners;
      const AOpacity: Single; const ACornerType: TCornerType = TCornerType.ctRound); virtual; abstract;
    procedure FillEllipse(const ARect: TRectF; const AOpacity: Single); virtual; abstract;
    procedure DrawEllipse(const ARect: TRectF; const AOpacity: Single); virtual; abstract;
    procedure FillArc(const Center, Radius: TPointF; StartAngle, SweepAngle: Single; const AOpacity: Single);
    procedure DrawArc(const Center, Radius: TPointF; StartAngle, SweepAngle: Single; const AOpacity: Single);
    function PtInPath(const APoint: TPointF; const APath: TPathData): Boolean; virtual; abstract;
    procedure FillPath(const APath: TPathData; const AOpacity: Single); virtual; abstract;
    procedure DrawPath(const APath: TPathData; const AOpacity: Single); virtual; abstract;
    procedure DrawBitmap(const ABitmap: TBitmap; const SrcRect, DstRect: TRectF; const AOpacity: Single;
      const HighSpeed: Boolean = False); virtual; abstract;
    procedure DrawThumbnail(const ABitmap: TBitmap; const Width, Height: Single); virtual; abstract;
    { routines }
    procedure DrawRectSides(const ARect: TRectF; const XRadius, YRadius: Single; const ACorners: TCorners;
      const AOpacity: Single; const ASides: TSides; const ACornerType: TCornerType = TCornerType.ctRound);
    { linear polygon }
    procedure FillPolygon(const Points: TPolygon; const AOpacity: Single); virtual;
    procedure DrawPolygon(const Points: TPolygon; const AOpacity: Single); virtual;


    http://docwiki.embarcadero.com/RADStudio/en/FireMonkey_Components_Guide
    http://docwiki.embarcadero.com/RADStudio/en/Creating_a_FireMonkey_Component
    http://docwiki.embarcadero.com/RADStudio/en/Creating_a_FireMonkey_Component_(C%2B%2B)
Tags: component development Delphi Delphi Delphi Programming Delphi Programming Delphi XE2 FireMonkey graphics HD News Open Tools API RAD RAD Studio XE2 shapes source-code source-code triangle XE2


https://jonlennartaasenden.wordpress.com/category/firemonkey/
firemonkey | Jon L. Aasenden
HTMLComponents for Delphi, a closer look

FMX Types Global Use GPU Canvas OpenGL Delphi Web Script

 https://www.delphitools.info/2013/12/24/a-terapixel-image-for-the-delphiwebscript-christmas/

A Terapixel Image for the DelphiWebScript Christmas! - DelphiTools

https://learn.microsoft.com/zh-tw/windows/win32/direct3darticles/directx-warp?redirectedfrom=MSDN#architecture

https://learn.microsoft.com/zh-tw/windows/win32/direct3darticles/directx-warp?redirectedfrom=MSDN#capabilities

https://learn.microsoft.com/zh-tw/windows/win32/direct3darticles/directx-warp?redirectedfrom=MSDN#enabling_rendering_when_direct3d_10_hardware_is_not_available 

https://parnassus.co/a-firemonkey-client-for-the-dws-terapixel-mandelbrot-data-set/

A FireMonkey client for the DWS Terapixel Mandelbrot data set - Parnassus OÜ - Delphi and C++Builder Plugins

https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Overriding_OpenGL_Rendering_Parameters

https://stackoverflow.com/questions/26599780/fmx-shape-components-does-not-correctly-displayed-on-the-android-platform

initialization  FMX.Types.GlobalUseGPUCanvas := True; FMX.Types.GlobalUseDX10

https://blog.grijjy.com/2020/05/25/boost-mac-performance-with-metal-and-delphi-10-4/

Boost Mac performance with Metal and Delphi 10.4 – grijjy blog


FMX Types GlobalUseGPUCanvas   FMX.Types GlobalDisableFocusEffect
GlobalUseGPUCanvas
GlobalUseDX
GlobalUseDXSoftware
GlobalUseDXInDX9Mode
GlobalUseDirect2D
GlobalUseGDIPlusClearType
GlobalUseHWEffects GlobalUseDX10 GlobalUseDX10Software

 

fmx.types.GlobalUseHWEffects = true
FMX.Types.GlobalDisableFocusEffect = false
 FMX.Types.GlobalUseDirect2D = true
FMX.Types.GlobalUseDXSoftware = false
fmx.Types.GlobalUseDX = true
FMX.Types.GlobalUseDXInDX9Mode = false
FMX.Types.GlobalUseGDIPlusClearType = true
 FMX.Types.GlobalUseGPUCanvas= false 

GlobalUseHWEffects GlobalDisableFocusEffect GlobalUseDirect2D GlobalUseDXSoftware  GlobalUseDX GlobalUseDXInDX9Mode GlobalUseGPUCanvas  GlobalUseGDIPlusClearType

https://blog.therealoracleatdelphi.com/2015/12/baking-object-pascal-and-rapsberry-pie.html?spref=tw

https://stackoverflow.com/questions/34139169/runtime-allocation-of-ontap-event-delphi-seattle

Logstash | Modern Big Data Processing with Hadoop

 Hadoop HDFS Hive HBASE Spark  Flume Storm Flume Kafka Logstash

apache flume kafka spark hadoop mapreduce hadoop hdfs hive

 Hadoop Ecosystem | Hadoop Tools for Crunching Big Data | Edureka

https://www.edureka.co/blog/hadoop-ecosystem

reusable server kernel application programmers multithreaded server

 https://www.ibm.com/docs/en/zvm/7.2?topic=cms-reusable-server-kernel

https://www.vm.ibm.com/rsk/

https://docs.oracle.com/cd/E12531_01/tuxedo100/cservers/mtserv.html

Developing Multithreaded
Applications: A Platform
Consistent Approach

作業系統 CH4 Multithreaded Programming - HackMD

C++ Network Programming Volume 2: Systematic Reuse ...Semantic Scholarhttps://www.semanticscholar.org › paperThe ADAPTIVE Communication Environment (ACE) is an open-source toolkit for building high-performance networked applications and next-generation middleware ... 

https://www.researchgate.net/figure/CORBA-30-Support-for-Real-Time-Applications_fig2_232647305

reusable server kernel application programmers  multithreaded server Multithreaded CORBA Server Applications  CORBA 3.0 Support for Real-Time Applications | Download Scientific Diagram

https://theaceorb.com/about/abouttao/
The 2.2a version of the ACE ORB (TAO), pronounced "dow", is a CORBA V3.0 compliant, C++, object request broker. It is a second generation ORB developed with a highly extensible architecture as a result of its use of what might be termed a pattern framework, more commonly known as the ACE library. (ACE is an acronym for ADAPTIVE Communication Environment, ADAPTIVE is another acronym and stands for A Dynamically Assembled Protocol, Transformation And Validation Environment!).

https://docs.oracle.com/cd/A97335_02/apps.102/a81358/01_intro.htm
The JServer Java virtual machine (JVM) is a complete, Java 2-compliant Java execution environment. It runs in the same process space and address space as the RDBMS kernel, sharing its memory heaps and directly accessing its relational data. This design optimizes memory use and increases throughput.The JServer JVM provides a run-time environment for Java objects. It fully supports Java data structures, method dispatch, exception handling, and language-level threads. It also supports all the core Java class libraries including java.lang, java.io, java.net, java.math, and java.util. Figure 1-3 shows its main components.



im chat Instant Messenger system SERVER

 https://github.com/openimsdk/open-im-server

https://docs.oracle.com/communications/E76289_01/doc.1001/e76290/ins_sysreqs.htm#IMSIN173

https://www.sciencedirect.com/topics/computer-science/instant-messaging-server

https://xmpp.org/uses/instant-messaging/ 

https://www.troopmessenger.com/blogs/top-self-hosted-chat-software

https://veriato.com/


https://www.quora.com/Instant-Messaging-IM-How-does-a-web-based-browser-based-chat-application-work
https://socket.io/#browser-support
A popular toolkit is Socket.io. From their page: the cross-browser WebSocket for realtime apps.- the following methods are available:    WebSockets    Adobe Flash Socket    AJAX Long Polling    AJAX Multipart Streaming    Forever IFrame    JSONP Polling

Instant Messaging Software Architecture (Sun Java Communications Suite 5 Deployment Planning Guide)