<div dir="ltr"><div class="gmail_extra">Cross Codebot is a set a collection of Free Pascal cross platform routines, classes, components, and controls. It uses makes prodigious of the newer Free Pascal language features, including: generics, generic interfaces, class/record helpers, records with methods, and both implicit and explicit conversion methods.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Take the Cross Codebot "TRectI" record (an Integer based record) as an example.</div><div class="gmail_extra"><br></div><div class="gmail_extra"><a href="http://www.getlazarus.org/records/trecti/">http://www.getlazarus.org/records/trecti/</a><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">It can be used in any place you might normally use a TRect. It differs in that you can change the x,y location without changing the dimensions. Additionally it can be inflated, offset, moved, or centered on a TPointI. Additionally you can retrieve any of its corners as a TPointI, it can be hit tested/empty tested, and it can be implicitly converted to a TRectF record (a Float based record).</div><div class="gmail_extra"><br></div><div class="gmail_extra">Types like TRectI are pervasive in Cross Codebot. Here is a partial listing of other types which make programing with Pascal a heck of a lot easier:</div><div class="gmail_extra"><br></div><div class="gmail_extra">TRectF</div><div class="gmail_extra">TPointI</div><div class="gmail_extra">TPointF</div><div class="gmail_extra">TColorB</div><div class="gmail_extra">TColorF</div><div class="gmail_extra">THSL { Hue, Saturation, Lightness }</div><div class="gmail_extra">TArray<T><br></div><div class="gmail_extra">TArrayList<T></div><div class="gmail_extra">TNamedValues<T><br></div><div class="gmail_extra"><div class="gmail_extra">TCompare<T><br></div><div class="gmail_extra">TConvert<T, TResult><br></div><div>TDelegate<T> { See <a href="http://www.codebot.org/delphi/?doc=9568">http://www.codebot.org/delphi/?doc=9568</a> }<br></div></div><div class="gmail_extra">IDelegate<T></div><div class="gmail_extra"><div class="gmail_extra">ICloneable<T><br></div><div>StringHelper = record helper for String<br></div></div><div class="gmail_extra">IntegerHelper = record helper for Integer<br></div><div class="gmail_extra"><div class="gmail_extra">FloatHelper = record helper for Float</div><div class="gmail_extra">TDateTimeHelper = record helper for TDateTime<br></div><div class="gmail_extra"><div class="gmail_extra">TColorHelper = record helper for TColor<br></div><div>TControlHelper = class helper for TControl<br></div></div><div><br></div><div>And so on.</div><div><br></div><div>As previously mentioned in this mailing list, my string handling routines are blazingly fast. My TextOfMobyDick.Replace('whale', 'moby', True) string replace extension method is more than 40x faster than the built in string replacement routines.</div><div><br></div><div>Cross Codebot is also a library which implements a new advanced hardware accelerated drawing API based on an newly defined ISurface interface. This interfaces greatly simplifies access to advanced drawing techiniques { See this link for their interfaces defined <a href="http://www.getlazarus.org/videos/crossgraphics/">http://www.getlazarus.org/videos/crossgraphics/</a> }</div><div><br></div><div>Cross Codebot is also a library with new set of new Socket networking classes, providing access to basic sockets with ssl an blocking/non-blocking modes, native http client implementation, native ftp client implementation, and native cloud storage client implementation (not currently rolled in entirely yet, but working in a side projects).</div><div><br></div><div>Cross Codebot is also a library which provides a new unified XML API based on an IDocument interface. The IFiler interface is particularly useful {See this link <a href="http://www.getlazarus.org/interfaces/xml/">http://www.getlazarus.org/interfaces/xml/</a> }</div><div><br></div><div>And to wrap things up (I neglected to mention a lot like the animations units, geometry units, cryptography units, and more), cross Codebot is a port of my old, but popular until I removed it, Delphi control library which was located here: <a href="http://www.codebot.org/delphi/">http://www.codebot.org/delphi/</a></div><div><br></div><div>The old library contains nearly 180 controls now, and I plan to slowly port many of them to this new Cross Codebot library (minus the ones which are hopelessly tied to Win32).</div><div><br></div><div>I hope this answers your question regarding what is Cross Codebot.</div></div></div>