An error occurred while loading the file. Please try again.
-
Jarkko Koivikko authored
This change adds generic support for pattern recognition based input methods. Added new API for the input engine and input method to process trace data. The trace data can originate from various input devices, e.g. from touch screen or from a dedicated hardware touch panel. Added new data model type for trace supporting both the C++ and QML interfaces. The new data model is DeclarativeTrace and Trace respectively, and it stores the trace data captured from the input device. The trace object is owned by the input method and is accessible to the UI layer, capture device and the input method. First, when the trace event begins, the capture device invokes the InputEngine.traceBegin(). The input engine forwards this call to the input method, which creates the trace object in response to successful call. Then the capture device receives the trace object and starts collecting the data. Also, in case of touch screen input, there are also the UI layer which renders the data. For this purpose there are new kinds of Style elements available in the Styles plugin. TraceCanvas is a specialized Canvas for rendering the trace object on screen. The TraceCanvas is a normal styling component, and can be customized like any other style element. Finally, the InputMethod.traceEnd() is called when the trace interaction ends. The trace is removed from screen automatically when the trace object is deleted. I.e., the input method has full control on how many traces it wants to collect for single recognition phase. Change-Id: I80ed90032f715726280197d9e94e7f0bd8280ff3 Reviewed-by:
Gatis Paeglis <gatis.paeglis@theqtcompany.com>
28cf4492
segmentation.h 1.50 KiB
/*
* Copyright (c) 2010 The WebM project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#include "string.h"
#include "vp8/common/blockd.h"
#include "onyx_int.h"
#ifndef __INC_SEGMENTATION_H__
#define __INC_SEGMENTATION_H__ 1
extern void vp8_update_gf_useage_maps(VP8_COMP *cpi, VP8_COMMON *cm, MACROBLOCK *x);
extern void vp8_enable_segmentation(VP8_PTR ptr);
extern void vp8_disable_segmentation(VP8_PTR ptr);
// Valid values for a segment are 0 to 3
// Segmentation map is arrange as [Rows][Columns]
extern void vp8_set_segmentation_map(VP8_PTR ptr, unsigned char *segmentation_map);
// The values given for each segment can be either deltas (from the default
// value chosen for the frame) or absolute values.
//
// Valid range for abs values is (0-127 for MB_LVL_ALT_Q) , (0-63 for
// SEGMENT_ALT_LF)
// Valid range for delta values are (+/-127 for MB_LVL_ALT_Q) , (+/-63 for
// SEGMENT_ALT_LF)
//
// abs_delta = SEGMENT_DELTADATA (deltas) abs_delta = SEGMENT_ABSDATA (use
// the absolute values given).
//
extern void vp8_set_segment_data(VP8_PTR ptr, signed char *feature_data, unsigned char abs_delta);
extern void choose_segmap_coding_method( VP8_COMP *cpi );
#endif /* __INC_SEGMENTATION_H__ */