2017-05-01から1ヶ月間の記事一覧

F#でWPF --- Elm Architectureで実装されたUserControl

あるアプリケーションを作成した後に、それをコントロール化して更に大きなアプリケーションを作成したい時があります。今回は、下記記事で作成したカウンタアプリケーションをコントロール化してみたいと思います。 F#でWPF --- Elm Architectureを利用した…

DependencyProperty定義の記述量削減(F#)

下記記事にてC#でDependencyPropertyの記述量を削減してみました。 DependencyProperty定義の記述量削減 - 何でもプログラミング今回はF#でDependencyPropertyの記述量を削減してみたいと思います。内容はほぼAttachedPropertyの時と同じですので、下記記事…

F#でWPF --- ItemsControlのItemのCommand

作成するアプリケーション 複数の、クリック回数を表示するボタンからなるアプリケーションを作成します。追加ボタンにより、クリックできるボタンを動的に増やすことができます。 本記事ではElm Architectureを利用しますので、下記記事を参照してください…

Visual Studio 2017でプロジェクトテンプレート作成

F#でWPFプログラミングをする際、プロジェクトテンプレートにコンソールアプリケーションしか存在しないため、毎回参照設定などを追加する必要があります。今回はWPF用のプロジェクトテンプレートを作成してみたいと思います。 テンプレートの準備 まずは普…

AttachedProperty定義の記述量削減(F#)

下記記事にて、C#でAttachedPropertyの記述を削減してみました。 AttachedProperty定義の記述量削減 - 何でもプログラミング今回はF#でAttachedPropertyの記述を減らしてみたいと思います。C#版同様、プリプロセスやポストプロセスは利用しないで実装してみ…

AttachedProperty定義の記述量削減

下記記事にて、依存プロパティの定義の記述量を削減しました。 DependencyProperty定義の記述量削減 - 何でもプログラミング今回は同様に、添付プロパティの記述量を削減してみたいと思います。素のままでは下記のような記述になり、エディタ上で"propa"とタ…

LINQ独自オペレータ メモ

C#

C#のIEnumerableには、SelectやAggregateなど様々なオペレータが用意されています。本記事では、あったら便利な独自のオペレータを定義してメモしたいと思います。随時更新予定です。 ForEach なんだかんだで、やっぱりあると便利です。 public static void …

T4でImmutableクラスコンストラクタ作成(C#)

T4 C#

C#(7.0)でImmutableクラスを作成する際、下記のような記述が必要になります。 public class Person { public string Name { get; } public int Age { get; } public Person(string name, int age) { Name = name; Age = age; } } F#のレコードと異なり、コ…

DependencyProperty定義の記述量削減

独自のDependencyPropertyを定義する際、コールバックも含めると下記のような記述になります。 public static readonly DependencyProperty ValueProperty = DependencyProperty.Register("Value", typeof(int), typeof(Counter), new PropertyMetadata(0, (…

WPFでマウスドラッグイベント

WPFにはデフォルトでドラッグのイベントは用意されていません。今回はドラッグ用のイベントを実装してみたいと思います。記事内で利用しているObservableクラス、Disposeクラス、Subscribe関数は下記記事を参照してください。 C# eventをIObservableに変換 -…

C# eventをIObservableに変換

C#

eventからIObservableへの変換は、下記のRxのFromEvent関数にて行えます。 NuGet Gallery | Reactive Extensions (Rx) - Main Library 3.1.1今回は、Rxを導入するほどでもないとき用に、シンプルなものを自前で実装してみたいと思います。 Observer、Observa…

WPFとDirect3D11の連携 --- テクスチャ貼り付け

下記記事にて三角形を描画するところまで記述しました。 WPFとDirect3D11の連携 --- 三角形描画 - 何でもプログラミング今回はテクスチャを貼り付けて表示してみたいと思います。 Texture作成 Direct3D9側でD3DFMT_A8R8G8B8にてレンダリングターゲットを作成…

WPFとDirect3D11の連携 --- 三角形描画

下記記事にてWPFとDirect3D11を連携してサーフェスを表示しました。 WPFとDirect3D11の連携 --- 導入 - 何でもプログラミング今回は単純な三角形を描画してWPFで表示してみたいと思います。 Shader作成(csoから) csoデータが存在する場合は、下記関数のみ…

WPFとDirect3D11の連携 --- 導入

下記記事にてWPFとDirect3D9Exを連携する方法を記述しました。 WPFとDirect3D9Exの連携 --- 導入 - 何でもプログラミング最近ではDirect3D11の利用がメジャーになっていますので、今回はWPFとDirect3D11を連携させてみたいと思います。WPF自体はDirect3D9で…

WPFとDirect3D9Exの連携 --- テクスチャ貼り付け

下記記事にて三角形を描画するところまで実装しました。 WPFとDirect3D9Exの連携 --- 三角形描画 - 何でもプログラミング今回はさらにテクスチャを貼り付けを実装してみたいと思います。本記事で利用している、CreateVertexShader、CreatePixelShader、Creat…

WPFとDirect3D9Exの連携 --- 三角形描画

下記記事にてIDirect3DSurface9をWPFで表示しました。 WPFとDirect3D9Exの連携 --- 導入 - 何でもプログラミング今回は単純な三角形を描画してWPFで表示してみたいと思います。本記事で利用しているAssertHR、CliComPtr、CreateDevice、CreateRenderTargetに…

WPFとDirect3D9Exの連携 --- 導入

WPFにDirect3Dのレンダリング結果を貼り付けたい場合、D3DImageクラスが利用できます。CPU経由でBitmapSourceを作成するのに比べ、D3DImageはGPU内で完結するため、より効率的です。今回はD3DImageを利用するところまでを実装したいと思います。 C++/CLI用Co…

SSEで画像処理 --- グレースケール化

下記記事にてSSEで簡単な画像処理をしてみました。 SSEで画像処理 --- 導入 - 何でもプログラミング今回はカラー画像をグレースケール化する処理を実装してみたいと思います。入力はRGBA32bitを仮定しています。(RGB24bitの場合、48Byte毎に処理する必要が…

SSEで画像処理 --- 導入

下記記事にてアラインされたstd::vectorを作成する方法を記述しました。 アラインされたstd::vector - 何でもプログラミング今回はそれを利用して、SSEで簡単な画像処理を行ってみます。 準備 今回はintrinsicを用いて実装するため、#include します。また記…