Kelas CD2DGeometry
Pembungkus untuk ID2D1Geometry.
Sintaks
class CD2DGeometry : public CD2DResource;
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CD2DGeometry::CD2DGeometry | Membuat objek CD2DGeometry. |
CD2DGeometry::~CD2DGeometry | Destruktor. Dipanggil ketika objek geometri D2D sedang dihancurkan. |
Metode Publik
Nama | Deskripsi |
---|---|
CD2DGeometry::Lampirkan | Melampirkan antarmuka sumber daya yang ada ke objek |
CD2DGeometry::CombineWithGeometry | Menggabungkan geometri ini dengan geometri yang ditentukan dan menyimpan hasilnya dalam ID2D1SimplifiedGeometrySink. |
CD2DGeometry::CompareWithGeometry | Menjelaskan persimpangan antara geometri ini dan geometri yang ditentukan. Perbandingan dilakukan menggunakan toleransi meratakan yang ditentukan. |
CD2DGeometry::ComputeArea | Menghitung area geometri setelah diubah oleh matriks yang ditentukan dan diratakan menggunakan toleransi yang ditentukan. |
CD2DGeometry::ComputeLength | Menghitung panjang geometri seolah-olah setiap segmen tidak terkendali ke dalam baris. |
CD2DGeometry::ComputePointAtLength | Menghitung vektor titik dan tangen pada jarak yang ditentukan di sepanjang geometri setelah diubah oleh matriks yang ditentukan dan diratakan menggunakan toleransi yang ditentukan. |
CD2DGeometry::D estroy | Menghancurkan objek CD2DGeometry. (Penimpaan CD2DResource::D estroy.) |
CD2DGeometry::D etach | Mencopot antarmuka sumber daya dari objek |
CD2DGeometry::FillContainsPoint | Menunjukkan apakah area yang diisi oleh geometri akan berisi titik yang ditentukan mengingat toleransi merata yang ditentukan. |
CD2DGeometry::Get | Mengembalikan antarmuka ID2D1Geometry |
CD2DGeometry::GetBounds | |
CD2DGeometry::GetWidenedBounds | Mendapatkan batas geometri setelah dilebarkan oleh lebar dan gaya goresan yang ditentukan dan diubah oleh matriks yang ditentukan. |
CD2DGeometry::IsValid | Memeriksa validitas sumber daya (Mengganti CD2DResource::IsValid.) |
CD2DGeometry::Kerangka | Menghitung kerangka geometri dan menulis hasilnya ke ID2D1SimplifiedGeometrySink. |
CD2DGeometry::Sederhanakan | Membuat versi geometri yang disederhanakan yang hanya berisi baris dan kurva Bezier kubik (opsional) dan menulis hasilnya ke ID2D1SimplifiedGeometrySink. |
CD2DGeometry::StrokeContainsPoint | Menentukan apakah goresan geometri berisi titik yang ditentukan mengingat ketebalan, gaya, dan transformasi goresan yang ditentukan. |
CD2DGeometry::Tessellate | Membuat satu set segitiga luka searah jarang yang menutupi geometri setelah diubah menggunakan matriks yang ditentukan dan diratakan menggunakan toleransi yang ditentukan. |
CD2DGeometry::Widen | Memperlebar geometri dengan goresan yang ditentukan dan menulis hasilnya ke ID2D1SimplifiedGeometrySink setelah diubah oleh matriks yang ditentukan dan diratakan menggunakan toleransi yang ditentukan. |
Operator Publik
Nama | Deskripsi |
---|---|
CD2DGeometry::operator ID2D1Geometry* | Mengembalikan antarmuka ID2D1Geometry |
Anggota Data yang Dilindungi
Nama | Deskripsi |
---|---|
CD2DGeometry::m_pGeometry | Penunjuk ke ID2D1Geometry. |
Hierarki Warisan
CD2DGeometry
Persyaratan
Header: afxrendertarget.h
CD2DGeometry::~CD2DGeometry
Destruktor. Dipanggil ketika objek geometri D2D sedang dihancurkan.
virtual ~CD2DGeometry();
CD2DGeometry::Lampirkan
Melampirkan antarmuka sumber daya yang ada ke objek
void Attach(ID2D1Geometry* pResource);
Parameter
pResource
Antarmuka sumber daya yang ada. Tidak boleh NULL
CD2DGeometry::CD2DGeometry
Membuat objek CD2DGeometry.
CD2DGeometry(
CRenderTarget* pParentTarget,
BOOL bAutoDestroy = TRUE);
Parameter
pParentTarget
Penunjuk ke target render.
bAutoDestroy
Menunjukkan bahwa objek akan dihancurkan oleh pemilik (pParentTarget).
CD2DGeometry::CombineWithGeometry
Menggabungkan geometri ini dengan geometri yang ditentukan dan menyimpan hasilnya dalam ID2D1SimplifiedGeometrySink.
BOOL CombineWithGeometry(
CD2DGeometry& inputGeometry,
D2D1_COMBINE_MODE combineMode,
const D2D1_MATRIX_3X2_F& inputGeometryTransform,
ID2D1SimplifiedGeometrySink* geometrySink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parameter
inputGeometry
Geometri untuk digabungkan dengan instans ini.
combineMode
Jenis operasi gabungan yang akan dilakukan.
inputGeometryTransform
Transformasi untuk diterapkan ke inputGeometry sebelum menggabungkan.
geometrySink
Hasil operasi gabungan.
flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.
Tampilkan Nilai
Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.
CD2DGeometry::CompareWithGeometry
Menjelaskan persimpangan antara geometri ini dan geometri yang ditentukan. Perbandingan dilakukan menggunakan toleransi meratakan yang ditentukan.
D2D1_GEOMETRY_RELATION CompareWithGeometry(
CD2DGeometry& inputGeometry,
const D2D1_MATRIX_3X2_F& inputGeometryTransform,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parameter
inputGeometry
Geometri yang akan diuji.
inputGeometryTransform
Transformasi untuk diterapkan ke inputGeometry.
flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.
Tampilkan Nilai
Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.
CD2DGeometry::ComputeArea
Menghitung area geometri setelah diubah oleh matriks yang ditentukan dan diratakan menggunakan toleransi yang ditentukan.
BOOL ComputeArea(
const D2D1_MATRIX_3X2_F& worldTransform,
FLOAT& area,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parameter
worldTransform
Transformasi untuk diterapkan ke geometri ini sebelum menghitung areanya.
daerah
Ketika metode ini kembali, berisi penunjuk ke area dari versi geometri ini yang ditransformasi dan diratakan. Anda harus mengalokasikan penyimpanan untuk parameter ini.
flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.
Tampilkan Nilai
Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.
CD2DGeometry::ComputeLength
Menghitung panjang geometri seolah-olah setiap segmen tidak terkendali ke dalam baris.
BOOL ComputeLength(
const D2D1_MATRIX_3X2_F& worldTransform,
FLOAT& length,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parameter
worldTransform
Transformasi untuk diterapkan ke geometri sebelum menghitung panjangnya.
length
Ketika metode ini kembali, berisi penunjuk ke panjang geometri. Untuk geometri tertutup, panjangnya termasuk segmen penutup implisit. Anda harus mengalokasikan penyimpanan untuk parameter ini.
flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.
Tampilkan Nilai
Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.
CD2DGeometry::ComputePointAtLength
Menghitung vektor titik dan tangen pada jarak yang ditentukan di sepanjang geometri setelah diubah oleh matriks yang ditentukan dan diratakan menggunakan toleransi yang ditentukan.
BOOL ComputePointAtLength(
FLOAT length,
const D2D1_MATRIX_3X2_F& worldTransform,
CD2DPointF& point,
CD2DPointF& unitTangentVector,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parameter
length
Jarak di sepanjang geometri titik dan tangen untuk menemukan. Jika jarak ini kurang dari 0, metode ini menghitung titik pertama dalam geometri. Jika jarak ini lebih besar dari panjang geometri, metode ini menghitung titik terakhir dalam geometri.
worldTransform
Transformasi untuk diterapkan ke geometri sebelum menghitung titik dan tangen yang ditentukan.
ujung
Lokasi pada jarak yang ditentukan di sepanjang geometri. Jika geometri kosong, titik ini berisi NaN sebagai nilai x dan y-nya.
unitTangentVector
Ketika metode ini kembali, berisi penunjuk ke vektor tangen pada jarak yang ditentukan di sepanjang geometri. Jika geometri kosong, vektor ini berisi NaN sebagai nilai x dan y-nya. Anda harus mengalokasikan penyimpanan untuk parameter ini.
flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.
Tampilkan Nilai
Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.
CD2DGeometry::D estroy
Menghancurkan objek CD2DGeometry.
virtual void Destroy();
CD2DGeometry::D etach
Mencopot antarmuka sumber daya dari objek
ID2D1Geometry* Detach();
Tampilkan Nilai
Penunjuk ke antarmuka sumber daya yang dilepas.
CD2DGeometry::FillContainsPoint
Menunjukkan apakah area yang diisi oleh geometri akan berisi titik yang ditentukan mengingat toleransi merata yang ditentukan.
BOOL FillContainsPoint(
CD2DPointF point,
const D2D1_MATRIX_3X2_F& worldTransform,
BOOL* contains,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parameter
ujung
Titik untuk diuji.
worldTransform
Transformasi yang akan diterapkan ke geometri sebelum pengujian penahanan.
mengandung
Ketika metode ini kembali, berisi nilai bool yang TRUE jika area yang diisi oleh geometri berisi titik; jika tidak, FALSE. Anda harus mengalokasikan penyimpanan untuk parameter ini.
flatteningTolerance
Akurasi numerik tempat jalur geometrik dan persimpangan jalur yang tepat dihitung. Poin yang kehilangan pengisian kurang dari toleransi masih dipertimbangkan di dalamnya. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.
Tampilkan Nilai
Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.
CD2DGeometry::Get
Mengembalikan antarmuka ID2D1Geometry
ID2D1Geometry* Get();
Tampilkan Nilai
Penunjuk ke antarmuka ID2D1Geometry atau NULL jika objek belum diinisialisasi.
CD2DGeometry::GetBounds
BOOL GetBounds(
const D2D1_MATRIX_3X2_F& worldTransform,
CD2DRectF& bounds) const;
Parameter
worldTransform
Batas
Tampilkan Nilai
CD2DGeometry::GetWidenedBounds
Mendapatkan batas geometri setelah dilebarkan oleh lebar dan gaya goresan yang ditentukan dan diubah oleh matriks yang ditentukan.
BOOL GetWidenedBounds(
FLOAT strokeWidth,
ID2D1StrokeStyle* strokeStyle,
const D2D1_MATRIX_3X2_F& worldTransform,
CD2DRectF& bounds,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parameter
strokeWidth
Jumlah untuk memperluas geometri dengan membentur garis luarnya.
strokeStyle
Gaya goresan yang melebarkan geometri.
worldTransform
Transformasi untuk diterapkan ke geometri setelah geometri diubah dan setelah geometri di-stroke.
Batas
Ketika metode ini kembali, berisi batas geometri yang diperlebar. Anda harus mengalokasikan penyimpanan untuk parameter ini.
flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.
Tampilkan Nilai
Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.
CD2DGeometry::IsValid
Memeriksa validitas sumber daya
virtual BOOL IsValid() const;
Tampilkan Nilai
TRUE jika sumber daya valid; jika tidak FALSE.
CD2DGeometry::m_pGeometry
Penunjuk ke ID2D1Geometry.
ID2D1Geometry* m_pGeometry;
CD2DGeometry::operator ID2D1Geometry*
Mengembalikan antarmuka ID2D1Geometry
operator ID2D1Geometry*();
Tampilkan Nilai
Penunjuk ke antarmuka ID2D1Geometry atau NULL jika objek belum diinisialisasi.
CD2DGeometry::Kerangka
Menghitung kerangka geometri dan menulis hasilnya ke ID2D1SimplifiedGeometrySink.
BOOL Outline(
const D2D1_MATRIX_3X2_F& worldTransform,
ID2D1SimplifiedGeometrySink* geometrySink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parameter
worldTransform
Transformasi untuk diterapkan ke kerangka geometri.
geometrySink
ID2D1SimplifiedGeometrySink tempat garis besar yang diubah geometri ditambahkan.
flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.
Tampilkan Nilai
Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.
CD2DGeometry::Sederhanakan
Membuat versi geometri yang disederhanakan yang hanya berisi baris dan kurva Bezier kubik (opsional) dan menulis hasilnya ke ID2D1SimplifiedGeometrySink.
BOOL Simplify(
D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,
const D2D1_MATRIX_3X2_F& worldTransform,
ID2D1SimplifiedGeometrySink* geometrySink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parameter
simplificationOption
Nilai yang menentukan apakah geometri yang disederhanakan harus berisi kurva.
worldTransform
Transformasi yang akan diterapkan ke geometri yang disederhanakan.
geometrySink
ID2D1SimplifiedGeometrySink tempat geometri yang disederhanakan ditambahkan.
flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.
Tampilkan Nilai
Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.
CD2DGeometry::StrokeContainsPoint
Menentukan apakah goresan geometri berisi titik yang ditentukan mengingat ketebalan, gaya, dan transformasi goresan yang ditentukan.
BOOL StrokeContainsPoint(
CD2DPointF point,
FLOAT strokeWidth,
ID2D1StrokeStyle* strokeStyle,
const D2D1_MATRIX_3X2_F& worldTransform,
BOOL* contains,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parameter
ujung
Titik untuk menguji penahanan.
strokeWidth
Ketebalan stroke untuk diterapkan.
strokeStyle
Gaya goresan yang akan diterapkan.
worldTransform
Transformasi untuk diterapkan pada geometri goresan.
mengandung
Ketika metode ini kembali, berisi nilai boolean yang diatur ke TRUE jika goresan geometri berisi titik yang ditentukan; jika tidak, FALSE. Anda harus mengalokasikan penyimpanan untuk parameter ini.
flatteningTolerance
Akurasi numerik tempat jalur geometrik dan persimpangan jalur yang tepat dihitung. Poin yang hilang stroke kurang dari toleransi masih dipertimbangkan di dalam. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.
Tampilkan Nilai
Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.
CD2DGeometry::Tessellate
Membuat satu set segitiga luka searah jarang yang menutupi geometri setelah diubah menggunakan matriks yang ditentukan dan diratakan menggunakan toleransi yang ditentukan.
BOOL Tessellate(
const D2D1_MATRIX_3X2_F& worldTransform,
ID2D1TessellationSink* tessellationSink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parameter
worldTransform
Transformasi untuk diterapkan ke geometri ini, atau NULL.
tessellationSink
ID2D1TessellationSink tempat tessellated ditambahkan.
flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.
Tampilkan Nilai
Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.
CD2DGeometry::Widen
Memperlebar geometri dengan goresan yang ditentukan dan menulis hasilnya ke ID2D1SimplifiedGeometrySink setelah diubah oleh matriks yang ditentukan dan diratakan menggunakan toleransi yang ditentukan.
BOOL Widen(
FLOAT strokeWidth,
ID2D1StrokeStyle* strokeStyle,
const D2D1_MATRIX_3X2_F& worldTransform,
ID2D1SimplifiedGeometrySink* geometrySink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parameter
strokeWidth
Jumlah untuk memperlebar geometri.
strokeStyle
Gaya goresan untuk diterapkan ke geometri, atau NULL.
worldTransform
Transformasi untuk diterapkan ke geometri setelah melebarkannya.
geometrySink
ID2D1SimplifiedGeometrySink tempat geometri yang diperlebar ditambahkan.
flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.
Tampilkan Nilai
Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.