Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/JAVA/Netbeans/java/dbschema/nbproject/   (Netbeans IDE Version 28©) image not shown  

SSL TestDrawTargetBase.cpp   Interaktion und
PortierbarkeitC

 

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */


#include "TestDrawTargetBase.h"

using namespace mozilla;
using namespace mozilla::gfx;

TestDrawTargetBase::TestDrawTargetBase() {
  REGISTER_TEST(TestDrawTargetBase, Initialized);
  REGISTER_TEST(TestDrawTargetBase, FillCompletely);
  REGISTER_TEST(TestDrawTargetBase, FillRect);
}

void TestDrawTargetBase::Initialized() { VERIFY(mDT); }

void TestDrawTargetBase::FillCompletely() {
  mDT->FillRect(Rect(0, 0, DT_WIDTH, DT_HEIGHT),
                ColorPattern(DeviceColor(0, 0.5f, 0, 1.0f)));

  RefreshSnapshot();

  VerifyAllPixels(DeviceColor(0, 0.5f, 0, 1.0f));
}

void TestDrawTargetBase::FillRect() {
  mDT->FillRect(Rect(0, 0, DT_WIDTH, DT_HEIGHT),
                ColorPattern(DeviceColor(0, 0.5f, 0, 1.0f)));
  mDT->FillRect(Rect(50, 50, 50, 50),
                ColorPattern(DeviceColor(0.5f, 0, 0, 1.0f)));

  RefreshSnapshot();

  VerifyPixel(IntPoint(49, 49), DeviceColor(0, 0.5f, 0, 1.0f));
  VerifyPixel(IntPoint(50, 50), DeviceColor(0.5f, 0, 0, 1.0f));
  VerifyPixel(IntPoint(99, 99), DeviceColor(0.5f, 0, 0, 1.0f));
  VerifyPixel(IntPoint(100, 100), DeviceColor(0, 0.5f, 0, 1.0f));
}

void TestDrawTargetBase::RefreshSnapshot() {
  RefPtr<SourceSurface> snapshot = mDT->Snapshot();
  mDataSnapshot = snapshot->GetDataSurface();
}

void TestDrawTargetBase::VerifyAllPixels(const DeviceColor& aColor) {
  uint32_t* colVal = (uint32_t*)mDataSnapshot->GetData();

  uint32_t expected = RGBAPixelFromColor(aColor);

  for (int y = 0; y < DT_HEIGHT; y++) {
    for (int x = 0; x < DT_WIDTH; x++) {
      if (colVal[y * (mDataSnapshot->Stride() / 4) + x] != expected) {
        LogMessage("VerifyAllPixels Failed\n");
        mTestFailed = true;
        return;
      }
    }
  }
}

void TestDrawTargetBase::VerifyPixel(const IntPoint& aPoint,
                                     mozilla::gfx::DeviceColor& aColor) {
  uint32_t* colVal = (uint32_t*)mDataSnapshot->GetData();

  uint32_t expected = RGBAPixelFromColor(aColor);
  uint32_t rawActual =
      colVal[aPoint.y * (mDataSnapshot->Stride() / 4) + aPoint.x];

  if (rawActual != expected) {
    stringstream message;
    uint32_t actb = rawActual & 0xFF;
    uint32_t actg = (rawActual & 0xFF00) >> 8;
    uint32_t actr = (rawActual & 0xFF0000) >> 16;
    uint32_t acta = (rawActual & 0xFF000000) >> 24;
    uint32_t expb = expected & 0xFF;
    uint32_t expg = (expected & 0xFF00) >> 8;
    uint32_t expr = (expected & 0xFF0000) >> 16;
    uint32_t expa = (expected & 0xFF000000) >> 24;

    message << "Verify Pixel (" << aPoint.x << "x" << aPoint.y
            << ") Failed."
               " Expected ("
            << expr << "," << expg << "," << expb << "," << expa
            << ") "
               " Got ("
            << actr << "," << actg << "," << actb << "," << acta << ")\n";

    LogMessage(message.str());
    mTestFailed = true;
    return;
  }
}

uint32_t TestDrawTargetBase::RGBAPixelFromColor(const DeviceColor& aColor) {
  return uint8_t((aColor.b * 255) + 0.5f) |
         uint8_t((aColor.g * 255) + 0.5f) << 8 |
         uint8_t((aColor.r * 255) + 0.5f) << 16 |
         uint8_t((aColor.a * 255) + 0.5f) << 24;
}

Messung V0.5 in Prozent
C=96 H=97 G=96

¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.11Angebot  (Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-09-29) ¤

*Eine klare Vorstellung vom Zielzustand






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.