本文整理汇总了Java中master.flame.danmaku.danmaku.model.AbsDisplayer类的典型用法代码示例。如果您正苦于以下问题:Java AbsDisplayer类的具体用法?Java AbsDisplayer怎么用?Java AbsDisplayer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
AbsDisplayer类属于master.flame.danmaku.danmaku.model包,在下文中一共展示了AbsDisplayer类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: drawDanmakus
import master.flame.danmaku.danmaku.model.AbsDisplayer; //导入依赖的package包/类
protected RenderingState drawDanmakus(AbsDisplayer<?> disp, DanmakuTimer timer) {
if (danmakuList != null) {
Canvas canvas = (Canvas) disp.getExtraData();
if (clearFlag > 0) {
DrawHelper.clearCanvas(canvas);
clearFlag--;
} else {
float[] refreshRect = mRenderer.getRefreshArea().mRefreshRect;
mRectCache.push(refreshRect);
float[] rect = mRectCache.getRect();
DrawHelper.clearCanvas(canvas, Math.max(0, rect[0]), Math.max(0, rect[1]),
Math.min(disp.getWidth(), rect[2]), Math.min(disp.getHeight(), rect[3]));
}
long currMills = timer.currMillisecond;
danmakus = danmakuList.sub(currMills - DanmakuFactory.MAX_DANMAKU_DURATION - 100,
currMills);
if (danmakus != null) {
return mRenderer.draw(mDisp, danmakus, mStartRenderTime);
}
}
return null;
}
示例2: draw
import master.flame.danmaku.danmaku.model.AbsDisplayer; //导入依赖的package包/类
public RenderingState draw(AbsDisplayer displayer) {
RenderingState result = super.draw(displayer);
synchronized (this.mDrawingNotify) {
this.mDrawingNotify.notify();
}
if (!(result == null || this.mCacheManager == null || result.incrementCount >= -20)) {
this.mCacheManager.requestClearTimeout();
this.mCacheManager.requestBuild(-this.mContext.mDanmakuFactory.MAX_DANMAKU_DURATION);
}
return result;
}
示例3: draw
import master.flame.danmaku.danmaku.model.AbsDisplayer; //导入依赖的package包/类
@Override
public RenderingState draw(AbsDisplayer displayer) {
RenderingState result = super.draw(displayer);
synchronized (mDrawingNotify) {
mDrawingNotify.notify();
}
if (result != null && mCacheManager != null) {
if (result.incrementCount < -20) {
mCacheManager.requestClearTimeout();
mCacheManager.requestBuild(-mContext.mDanmakuFactory.MAX_DANMAKU_DURATION);
}
}
return result;
}
示例4: DrawTask
import master.flame.danmaku.danmaku.model.AbsDisplayer; //导入依赖的package包/类
public DrawTask(DanmakuTimer timer, Context context, AbsDisplayer<?> disp,
TaskListener taskListener) {
mTaskListener = taskListener;
mCounter = new AndroidCounter();
mContext = context;
mRenderer = new DanmakuRenderer();
mDisp = disp;
initTimer(timer);
}
示例5: CacheManagingDrawTask
import master.flame.danmaku.danmaku.model.AbsDisplayer; //导入依赖的package包/类
public CacheManagingDrawTask(DanmakuTimer timer, Context context, AbsDisplayer<?> disp,
TaskListener taskListener, int maxCacheSize) {
super(timer, context, disp, taskListener);
NativeBitmapFactory.loadLibs();
mMaxCacheSize = maxCacheSize;
mCacheManager = new CacheManager(maxCacheSize, MAX_CACHE_SCREEN_SIZE);
}
示例6: draw
import master.flame.danmaku.danmaku.model.AbsDisplayer; //导入依赖的package包/类
@Override
public RenderingState draw(AbsDisplayer<?> displayer) {
RenderingState result = null;
synchronized (danmakuList) {
result = super.draw(displayer);
}
synchronized(mDrawingNotify){
mDrawingNotify.notify();
}
return result;
}
示例7: draw
import master.flame.danmaku.danmaku.model.AbsDisplayer; //导入依赖的package包/类
public synchronized RenderingState draw(AbsDisplayer displayer) {
return drawDanmakus(displayer, this.mTimer);
}
示例8: drawDanmakus
import master.flame.danmaku.danmaku.model.AbsDisplayer; //导入依赖的package包/类
protected RenderingState drawDanmakus(AbsDisplayer disp, DanmakuTimer timer) {
if (this.clearRetainerFlag) {
this.mRenderer.clearRetainer();
this.clearRetainerFlag = false;
}
if (this.danmakuList == null) {
return null;
}
DrawHelper.clearCanvas((Canvas) disp.getExtraData());
if (this.mIsHidden) {
return this.mRenderingState;
}
long beginMills = (timer.currMillisecond - this.mContext.mDanmakuFactory.MAX_DANMAKU_DURATION) - 100;
long endMills = timer.currMillisecond + this.mContext.mDanmakuFactory.MAX_DANMAKU_DURATION;
if (this.mLastBeginMills > beginMills || timer.currMillisecond > this.mLastEndMills) {
IDanmakus subDanmakus = this.danmakuList.sub(beginMills, endMills);
if (subDanmakus != null) {
this.danmakus = subDanmakus;
} else {
this.danmakus.clear();
}
this.mLastBeginMills = beginMills;
this.mLastEndMills = endMills;
} else {
beginMills = this.mLastBeginMills;
endMills = this.mLastEndMills;
}
if (this.danmakus == null || this.danmakus.isEmpty()) {
this.mRenderingState.nothingRendered = true;
this.mRenderingState.beginTime = beginMills;
this.mRenderingState.endTime = endMills;
return this.mRenderingState;
}
RenderingState renderingState = this.mRenderer.draw(this.mDisp, this.danmakus, this.mStartRenderTime);
this.mRenderingState = renderingState;
if (!renderingState.nothingRendered) {
return renderingState;
}
if (!(this.mTaskListener == null || this.mLastDanmaku == null || !this.mLastDanmaku.isTimeOut())) {
this.mTaskListener.onDanmakusDrawingFinished();
}
if (renderingState.beginTime == -1) {
renderingState.beginTime = beginMills;
}
if (renderingState.endTime != -1) {
return renderingState;
}
renderingState.endTime = endMills;
return renderingState;
}
示例9: getDisplayer
import master.flame.danmaku.danmaku.model.AbsDisplayer; //导入依赖的package包/类
public AbsDisplayer getDisplayer() {
return this.mDisplayer;
}
示例10: draw
import master.flame.danmaku.danmaku.model.AbsDisplayer; //导入依赖的package包/类
@Override
public synchronized RenderingState draw(AbsDisplayer displayer) {
return drawDanmakus(displayer,mTimer);
}
示例11: drawDanmakus
import master.flame.danmaku.danmaku.model.AbsDisplayer; //导入依赖的package包/类
protected RenderingState drawDanmakus(AbsDisplayer disp, DanmakuTimer timer) {
if (clearRetainerFlag) {
mRenderer.clearRetainer();
clearRetainerFlag = false;
}
if (danmakuList != null) {
Canvas canvas = (Canvas) disp.getExtraData();
DrawHelper.clearCanvas(canvas);
if (mIsHidden) {
return mRenderingState;
}
long beginMills = timer.currMillisecond - mContext.mDanmakuFactory.MAX_DANMAKU_DURATION - 100;
long endMills = timer.currMillisecond + mContext.mDanmakuFactory.MAX_DANMAKU_DURATION;
if(mLastBeginMills > beginMills || timer.currMillisecond > mLastEndMills) {
IDanmakus subDanmakus = danmakuList.sub(beginMills, endMills);
if(subDanmakus != null) {
danmakus = subDanmakus;
}
mLastBeginMills = beginMills;
mLastEndMills = endMills;
} else {
beginMills = mLastBeginMills;
endMills = mLastEndMills;
}
if (danmakus != null && !danmakus.isEmpty()) {
RenderingState renderingState = mRenderingState = mRenderer.draw(mDisp, danmakus, mStartRenderTime);
if (renderingState.nothingRendered) {
if(mLastDanmaku != null && mLastDanmaku.isTimeOut()) {
mLastDanmaku = null;
if (mTaskListener != null) {
mTaskListener.onDanmakusDrawingFinished();
}
}
if (renderingState.beginTime == RenderingState.UNKNOWN_TIME) {
renderingState.beginTime = beginMills;
}
if (renderingState.endTime == RenderingState.UNKNOWN_TIME) {
renderingState.endTime = endMills;
}
}
return renderingState;
} else {
mRenderingState.nothingRendered = true;
mRenderingState.beginTime = beginMills;
mRenderingState.endTime = endMills;
return mRenderingState;
}
}
return null;
}
示例12: getDisplayer
import master.flame.danmaku.danmaku.model.AbsDisplayer; //导入依赖的package包/类
public AbsDisplayer getDisplayer() {
return mDisplayer;
}
示例13: drawDanmakus
import master.flame.danmaku.danmaku.model.AbsDisplayer; //导入依赖的package包/类
protected RenderingState drawDanmakus(AbsDisplayer disp, DanmakuTimer timer) {
if (clearRetainerFlag) {
mRenderer.clearRetainer();
clearRetainerFlag = false;
}
if (danmakuList != null) {
Canvas canvas = (Canvas) disp.getExtraData();
DrawHelper.clearCanvas(canvas);
if (mIsHidden) {
return mRenderingState;
}
long beginMills = timer.currMillisecond - mContext.mDanmakuFactory.MAX_DANMAKU_DURATION - 100;
long endMills = timer.currMillisecond + mContext.mDanmakuFactory.MAX_DANMAKU_DURATION;
if(mLastBeginMills > beginMills || timer.currMillisecond > mLastEndMills) {
IDanmakus subDanmakus = danmakuList.sub(beginMills, endMills);
if(subDanmakus != null) {
danmakus = subDanmakus;
} else if (danmakus != null) {
BaseDanmaku last = danmakus.last();
if (last == null || last.isTimeOut()) {
danmakus.clear();
}
}
mLastBeginMills = beginMills;
mLastEndMills = endMills;
} else {
beginMills = mLastBeginMills;
endMills = mLastEndMills;
}
if (danmakus != null && !danmakus.isEmpty()) {
RenderingState renderingState = mRenderingState = mRenderer.draw(mDisp, danmakus, mStartRenderTime);
if (renderingState.nothingRendered) {
if(mTaskListener != null && mLastDanmaku != null && mLastDanmaku.isTimeOut()) {
mTaskListener.onDanmakusDrawingFinished();
}
if (renderingState.beginTime == RenderingState.UNKNOWN_TIME) {
renderingState.beginTime = beginMills;
}
if (renderingState.endTime == RenderingState.UNKNOWN_TIME) {
renderingState.endTime = endMills;
}
}
return renderingState;
} else {
mRenderingState.nothingRendered = true;
mRenderingState.beginTime = beginMills;
mRenderingState.endTime = endMills;
return mRenderingState;
}
}
return null;
}
示例14: drawDanmakus
import master.flame.danmaku.danmaku.model.AbsDisplayer; //导入依赖的package包/类
protected RenderingState drawDanmakus(AbsDisplayer disp, DanmakuTimer timer) {
if (clearRetainerFlag) {
mRenderer.clearRetainer();
clearRetainerFlag = false;
}
if (danmakuList != null) {
Canvas canvas = (Canvas) disp.getExtraData();
DrawHelper.clearCanvas(canvas);
if (mIsHidden) {
return mRenderingState;
}
long beginMills = timer.currMillisecond - mContext.mDanmakuFactory.MAX_DANMAKU_DURATION - 100;
long endMills = timer.currMillisecond + mContext.mDanmakuFactory.MAX_DANMAKU_DURATION;
if(mLastBeginMills > beginMills || timer.currMillisecond > mLastEndMills) {
IDanmakus subDanmakus = danmakuList.sub(beginMills, endMills);
if(subDanmakus != null) {
danmakus = subDanmakus;
} else {
danmakus.clear();
}
mLastBeginMills = beginMills;
mLastEndMills = endMills;
} else {
beginMills = mLastBeginMills;
endMills = mLastEndMills;
}
if (danmakus != null && !danmakus.isEmpty()) {
RenderingState renderingState = mRenderingState = mRenderer.draw(mDisp, danmakus, mStartRenderTime);
if (renderingState.nothingRendered) {
if(mTaskListener != null && mLastDanmaku != null && mLastDanmaku.isTimeOut()) {
mTaskListener.onDanmakusDrawingFinished();
}
if (renderingState.beginTime == RenderingState.UNKNOWN_TIME) {
renderingState.beginTime = beginMills;
}
if (renderingState.endTime == RenderingState.UNKNOWN_TIME) {
renderingState.endTime = endMills;
}
}
return renderingState;
} else {
mRenderingState.nothingRendered = true;
mRenderingState.beginTime = beginMills;
mRenderingState.endTime = endMills;
return mRenderingState;
}
}
return null;
}
示例15: draw
import master.flame.danmaku.danmaku.model.AbsDisplayer; //导入依赖的package包/类
@Override
public RenderingState draw(AbsDisplayer<?> displayer) {
return drawDanmakus(displayer,mTimer);
}