- u_async.c: process immediate_queue BEFORE epoll_wait in uasync_poll - stcp_link.c: defensive NULL etcp_conn/etcp_link in stcp_link_close - utun_instance.c: move stcp_server_list_destroy_all to Phase J (before ETCP), add deferred drain in both Phase J and L - stcp.h/c: STCP_HS_ENC_CLIENT 6→38, STCP_HS_ENC_SERVER 7→39, exchange ed25519_pubkey in both handshake directions - etcp_connections.c: copy peer_ed25519 from STCP to ETCP_CONN in etcp_link_enter_ready_tcp; guard link->etcp in tcp_link_close_cb - chat_sync.c: fix lk->conn NULL dereference for TCP links - test_stcp.c: update stcp_server_create/stcp_client_connect callsites - tools/chat_tcp_test: change transport udp→tcp
36 lines
841 B
C++
36 lines
841 B
C++
/*
|
|
* Copyright 2016 Nu-book Inc.
|
|
* Copyright 2016 ZXing authors
|
|
*/
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
#pragma once
|
|
|
|
#include "Point.h"
|
|
|
|
namespace ZXing {
|
|
|
|
/**
|
|
* <p>Encapsulates a point of interest in an image containing a barcode. Typically, this
|
|
* would be the location of a finder pattern or the corner of the barcode, for example.</p>
|
|
*
|
|
* @author Sean Owen
|
|
*/
|
|
class ResultPoint : public PointF
|
|
{
|
|
public:
|
|
ResultPoint() = default;
|
|
ResultPoint(float x, float y) : PointF(x, y) {}
|
|
ResultPoint(int x, int y) : PointF(x, y) {}
|
|
template <typename T> ResultPoint(PointT<T> p) : PointF(p) {}
|
|
|
|
float x() const { return static_cast<float>(PointF::x); }
|
|
float y() const { return static_cast<float>(PointF::y); }
|
|
|
|
void set(float x, float y) { *this = PointF(x, y); }
|
|
|
|
static float Distance(int aX, int aY, int bX, int bY);
|
|
};
|
|
|
|
} // ZXing
|