1
0
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
2.0 KiB

/*************************************************
* Copyright (C) 2018 Fuzhou Rockchip Electronics Co.Ltd.
*
* Modification based on code covered by the Apache License, Version 2.0 (the "License").
* You may not use this software except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS TO YOU ON AN "AS IS" BASIS
* AND ANY AND ALL WARRANTIES AND REPRESENTATIONS WITH RESPECT TO SUCH SOFTWARE, WHETHER EXPRESS,
* IMPLIED, STATUTORY OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF TITLE,
* NON-INFRINGEMENT, MERCHANTABILITY, SATISFACTROY QUALITY, ACCURACY OR FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED.
*
* Author:
* libin <bin.li@rock-chips.com>
* Date:
* 2020-01-09
* Description:
* Output display content by calling libdrm interface.
*
**************************************************/
#ifndef _HANDWRITTEN_DEMO_H
#define _HANDWRITTEN_DEMO_H
#include <utils/threads.h>
#include <SkCanvas.h>
#include <SkBitmap.h>
using namespace android;
class RenderThread : public Thread {
public:
RenderThread();
void setDrawSize(int width, int height);
void setDrawMap(void *drawmap);
void setScale(float X,float y);
void setmScale(float X, float Y);
int render();
private:
void onFirstRef();
bool threadLoop();
SkBitmap bitmap;
SkPaint paint;
//Render coordinates
unsigned int x = 0;
unsigned int y = 0;
unsigned int lastX = 0;
unsigned int lastY = 0;
// Pencil info
bool isPressed = false;
bool isPen =false;
//Depend on pencil device
float XScale = 0.0 ;
float YScale = 0.0;
//Depend on touch screen
float mXScale = 0.0;
float mYScale = 0.0;
//Rendor size
int src_width = 0;
int src_height = 0;
//Redirecting virtual addresses
void *map = NULL;
};
#endif // _HANDWRITTEN_DEMO_H