/*
* アルファ値の設定
*/
- if(!data->opaque_comment){
+ if(data->opaque_comment == OPAQUE_FALSE){
float alpha_t = (((float)(item->no)/(item->chat->max_no)) * 0.4) + 0.6;
fprintf(data->common->log,"[comsurface/make]comment %04d set alpha:%5.2f%%.\n",item->no,alpha_t*100);
setAlpha(ret,alpha_t);
- }
+ } else if (data->opaque_comment == OPAQUE_HALF) {
+ setAlpha(ret,0.5);
+ }
/*
* スケール設定
setting->shadow_kind = 1;//デフォルトはニコニコ動画風
setting->show_video = FALSE;
setting->fontsize_fix=FALSE;
- setting->opaque_comment=FALSE;
+ setting->opaque_comment=OPAQUE_FALSE;
setting->aspect_mode = 0;
int i;
char* arg;
}else if(!setting->opaque_comment && strcmp(arg,"--enable-opaque-comment") == 0){
fputs("[framehook/init]enable opaque comment.\n",log);
fflush(log);
- setting->opaque_comment=TRUE;
+ setting->opaque_comment=OPAQUE_TRUE;
} else if (strncmp(FRAMEHOOK_OPT_ASPECT_MODE, arg, FRAMEHOOK_OPT_ASPECT_MODE_LEN) == 0) {
setting->aspect_mode = MAX(0, atoi(arg + FRAMEHOOK_OPT_ASPECT_MODE_LEN));
fprintf(log, "[framehook/init]aspect mode:%d\n", setting->aspect_mode);
commdata->opaque_comment = setting->opaque_comment;
}
// オーナコメントは常に不透明
- data->comment[OWNER].opaque_comment = TRUE;
+ data->comment[COMMENT_OWNER].opaque_comment = OPAQUE_TRUE;
+ // オプショナルユーザコメントは半透明時常にアルファ値0.5
+ if(data->comment[COMMENT_USER_OPT].opaque_comment == OPAQUE_FALSE) {
+ data->comment[COMMENT_USER_OPT].opaque_comment = OPAQUE_HALF;
+ }
data->log = log;
data->fontsize_fix = setting->fontsize_fix;
* コメントの種類. 並びはframehook.hで定義している情報と関連があることに注意.
*/
typedef enum {
- USER_OPT, OWNER_OPT, USER, OWNER
+ COMMENT_USER_OPT, COMMENT_OWNER_OPT, COMMENT_USER, COMMENT_OWNER
} COMMENT_TYPE;
+typedef enum {
+ OPAQUE_FALSE, OPAQUE_TRUE, OPAQUE_HALF
+} OPAQUE;
+
struct COMMDATA {
int enable;
CHAT chat;
CHAT_SLOT slot;
- int opaque_comment;
+ OPAQUE opaque_comment;
DATA* common;
};
/*TRUE OR FALSE*/
int show_video;
int fontsize_fix;
- int opaque_comment;
+ OPAQUE opaque_comment;
/**
* アスペクト比の指定. コメントのフォントサイズや速度に影響する.
* 0 - 4:3