[Bug 45708] djkaty.com Simple2D demos v1.13: BitmapBrushDemo needs D2D1MakeSkewMatrix

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Aug 26 06:56:02 CDT 2018


https://bugs.winehq.org/show_bug.cgi?id=45708

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
                 CC|                            |focht at gmx.net
            Summary|Simple2D demos need         |djkaty.com Simple2D demos
                   |D2D1MakeSkewMatrix          |v1.13: BitmapBrushDemo
                   |                            |needs D2D1MakeSkewMatrix
           Keywords|                            |download, source
                URL|                            |http://files.djkaty.com/sof
                   |                            |tware/Simple2D/
     Ever confirmed|0                           |1

--- Comment #5 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

filling some fields.

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files (x86)/DJKaty.com/Simple2D/examples

$ grep -Hrni ::Skew
BitmapBrushDemo.cpp:20:    Screen->SetTransform(D2D1::Matrix3x2F::Skew(0,
-5.f));

$ cat BitmapBrushDemo.cpp

#include "../Simple2D/Simple2D.h"

using namespace S2D;

class MyProgram : public Simple2D
{
    void DrawScene();

    ImageBrush tile;

public:
    MyProgram(Simple2DStartupInfo si) : Simple2D(si)
    {
        tile = MakeBrush(MakeImage(L"tile.png"), Auto, D2D1_EXTEND_MODE_WRAP);
    }
};

void MyProgram::DrawScene()
{
    Screen->SetTransform(D2D1::Matrix3x2F::Skew(0, -5.f));
    FillRectangleWH(80, ResolutionY - 200, 80 * 6, 80 * 1, tile);
}

void Simple2DStart()
{
    Simple2DStartupInfo si;
    si.WindowName = "Bitmap brush example";
    si.BackgroundColour = D2D1::ColorF(Colour::Black);
    si.ResizableWindow = true;
    MyProgram(si).Run();
}
--- snip ---

https://github.com/apitrace/dxsdk/blob/master/Include/d2d1helper.h#L861

--- snip ---
...
namespace D2D1
{
...
    class Matrix3x2F : public D2D1_MATRIX_3X2_F
    {
    public:

...
        static
        COM_DECLSPEC_NOTHROW
        D2D1FORCEINLINE
        Matrix3x2F
        Skew(
            FLOAT angleX,
            FLOAT angleY,
            D2D1_POINT_2F center = D2D1::Point2F()
            )
        {
            Matrix3x2F skew;

            D2D1MakeSkewMatrix(angleX, angleY, center, &skew);

            return skew;
}
--- snip ---

Tidbit: In Linux environment there are a couple more issues that prevent
running these examples, covered by other bugs:

* bug 45709 ("djkaty.com Simple2D demos v1.13 need support for
IWICImagingFactory2, CLSID '{317d06e8-5f24-433d-bdf7-79ce68d8abc2}'")
* bug 44052 ("Multiple applications and games fail to run due to missing D2D
device and device context and multiple API stubs (Temple+, DJKaty.com
'Simple2D' examples)")

$ sha1sum Simple2DSetup-1.13.exe 
269c002fb9ea11c2abd8958fc3cc4294af1b45d9  Simple2DSetup-1.13.exe

$ du -sh Simple2DSetup-1.13.exe 
11M    Simple2DSetup-1.13.exe

$ wine --version
wine-3.14-161-g70fbfa2cb8

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list