Codexpert blog has been moved to a new location
The old articles and new ones can be further found at: https://codexpertro.wordpress.com/The post Codexpert blog has been moved to a new location first appeared on codexpert blog.
View ArticleMFC Support for Direct2D – Transforms (1)
Direct2D supports linear transforms like translation, scale, rotation and skew. If using MFC, we can apply transforms to render targets by calling CRenderTarget::SetTransform. Here is an example that...
View ArticleMFC Support for Direct2D – Part 8: Lost Render Target
As stated in the Direct2D documentation, the graphics device might become unavailable. If the device is lost, the render target also becomes invalid, along with any device-dependent resources that were...
View ArticleCodexpert – 2017 Articles Summary
MFC Support for Direct2D – Part 3: Multithreading MFC Support for DirectWrite – Part 8: Trimming MFC Support for DirectWrite – Part 9: Hit-Test MFC Support for DirectWrite – Part 10: Outlined Text MFC...
View ArticleMFC Support for Windows Animation
Let’s say we have to make a slide show presentation using Cross Fade effect. If the target system is Windows 10, that’s quite easy because Direct2D offers built-in Cross Fade effect. Cross Fade effect...
View ArticleMFC Support for Direct2D – Part 7: Saving to files
Once have enabled Direct2D support in an MFC application, there is no sweat to load an image from a file, by using one of CD2DBitmap constructors. Unfortunately, we cannot find a CD2DBitmap method to...
View ArticleMFC Support for Direct2D – Part 6: Composite Effects
We can combine two or more images and/or effects by using the composite effect. Here is an example. Drawing shadows using Direct2D composite effects void...
View ArticleMFC Support for DirectWrite – Part 11: About Trimming Again
In a previous article, I showed how to trim a text which overflows the layout box. In the example presented there, the ellipsis is added at the end of truncated text. But if, let’s say, we have to show...
View ArticleMFC Support for Direct2D – Part 5: Interoperability with GDI
There are two ways to combine Direct2D with Windows GDI API in the same application: Drawing Direct2D content to a GDI device context Drawing GDI content to a Direct2D GDI-compatible render target...
View ArticleMFC Support for Direct2D – Part 4: Built-in Effects
Direct2D has built-in support for image processing like changing brightness or contrast, blurring, creating drop shadows, and so on. Basically, we can use for this purpose the CreateEffect and...
View ArticleMFC Support for DirectWrite – Part 9: Hit-Test
DirectWrite has hit-testing support that can be useful for showing a caret, making a selection, doing some action if the user chicks in a given text range, and so on. The hit-test methods of...
View ArticleMFC Support for Direct2D – Part 3: Multithreading
As shown in previous articles, we can enable MFC Direct2D support for a window by a call of CWnd::EnableD2DSupport. Example:int CSlideShowWnd::OnCreate(LPCREATESTRUCT lpCreateStruct) { if...
View ArticleMFC Support for DirectWrite – Part 8: Trimming
When using “classic” GDI functions i.e. CDC::DrawText, it’s no sweat to trim with ellipsis a single-line text when that text does not fit in the drawing rectangle width, by specifying DT_WORDBREAK...
View ArticleCodexpert – 2016 Articles Summary
C++ Programming Language Guidelines Support Library Review: span<T> Guidelines Support Library Review: string_span<T> Microsoft Libraries Easy PNG Resource Loading with MFC – Part 1 MFC...
View ArticleGetting Direct2D, DirectWrite and WIC Factories in MFC
MFC library offers a series of wrapper classes over Direct2D and DirectWrite interfaces (see CRenderTarget and CD2D classes). That’s pretty cool because allows to easily load and render images and draw...
View ArticleMFC Support for DirectWrite – Part 7: A Step to Custom Rendering
The previous articles from this series show how to format the text layout using built-in DirectWrite methods. However, as said earlier, we can do more custom formatting (e.g. draw double/triple...
View ArticleMFC Static Control Using Direct2D and DirectWrite (updated)
I have update the MFC static control presented in the previous articles by adding methods for setting text range color, typography and inline images. Code samples Setting text range color void...
View ArticleMFC Static Control Using Direct2D and DirectWrite – version 1.0
While doing some refactoring on sample source code presented in MFC Support for DirectWrite series, I had the idea to make a control easy to be used for rendering text. It could be a custom MFC control...
View ArticleEasy PNG Resource Loading with MFC
If ask Internet about how to “load PNG from resource” it gives in return a lot of examples using a bunch of code. We can use some stuff found there, but once using MFC and enabling Direct2D support,...
View ArticleCodexpert – 2015 Articles Summary
Microsoft Libraries and C++ Programming Language Using Lambdas in MFC Applications – Part 1: Sorting Arrays Presents how to sort MFC arrays using lambda expressions (C++11 and next). Using Lambdas in...
View Article